راه اندازی بات تلگرام با استفاده از فلاسک Flask و پایتون در سی پنل cPanel

در ادامه آموزشی که برای راه اندازی جنگو Django با سی پنل cPanel با استفاده از mod_passenger گذاشته بودیم امروز آموزش راه اندازی یک بات ساده تلگرام با استفاده از فریم ورک فلسک Flask را خواهیم داشت .

ابتدا از Lets Encrypt موجود در cPanel یک ssl رایگان بر روی دامنه مورد نظر نصب کرده و سپس از Python selector اقدام به نصب فریم ورک و ماژول تلگرام می کنیم :

telegram flask bot mod passenger

سپس فایل web.py حاوی کد های فلاسک برگرفته از مثال نمونه را ایجاد میکنیم :

from flask import Flask, request
import telegram
# CONFIG
TOKEN = 'YOUR_BOT_API'
HOST = 'YOURDOMAIN.COM'

global bot
bot = telegram.Bot(TOKEN)
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World! :)'

@app.route('/' + TOKEN, methods=['POST'])
def webhook():
    try:
       update = telegram.Update.de_json(request.get_json(force=True),bot)
       bot.sendMessage(chat_id=update.message.chat.id, text='Hello, there'.encode('utf-8'))
    except Exception as e:
       return str(e)
   return 'OK'

@app.route('/set_webhook', methods=['GET', 'POST'])
def setWebhook():
    s = bot.setWebhook(webhook_url='https://%s/%s' % (HOST,TOKEN))
    if s:
       return "webhook setup ok"
    else:
       return "webhook setup failed"

اکنون لازم است با ایجاد فایل passenger_wsgi.py فایل web.py را به وب سرور برای اتصال معرفی کنیم :

from web import app as application

در نهایت پایتون را از کنترل پنل python selector رستارت می کنیم . اکنون با مراجعه به

https://yourdomain.com

باید hello world ! به درستی نمایش داده شود و با رفتن به آدرس

https://yourdomain.com/set_webhook

باید پیام webhook setup ok نمایش داده شود. همچنین با ارسال یک درخواست json تست به :

https://yourdomain.com/TOKEN

نباید خطایی نشان داده شود و باید پیام ok نمایش داده شود. این درخواست test را می توان با  کتابخانه requests پایتون فرستاد:

import requests
requests.post("https://yourdomain.com/TOKEN",json={'test':'test'}).content

آموزش انتقال دامنه به میهن نیک

انتقال دامنه های ثبت شده به پنل میهن نیک به ترتیب زیر قابل انجام است :

۱- دریافت کد انتقال دامنه یا EPP Key

۲- عضویت در میهن نیک و تکمیل بخش اطلاعات لازم جهت ثبت دامنه در پنل کاربری -> اطلاعات کاربری

۳- شارژ حساب به مبلغ مورد نیاز جهت تمدید دامنه.
برای انتقال دامنه لازم است دامنه پس از منتقل شدن توسط میهن نیک تمدید شود.
قیمت ها از بخش ثبت آنلاین دامنه در سایت میهن نیک قابل مشاهده است.

۴- ایجاد تیکت در بخش پشتیبانی میهن نیک و ارائه  سه مورد : ۱. نام دامنه   ۲. کد انتقال و ۳. DNS های فعلی دامنه جهت شروع انتقال.

فرآیند انتقال دامنه معمولا یک هفته زمان می برد و لازم است پس از شروع شدن فرآیند انتقال بر روی لینک موجود در ایمیل تایید انتقال دامنه کلیک کنید.

پس از تمام شدن فرایند انتقال می توانید در لینک زیر با جایگزینی دامنه خودتان به جای YOURDOMAIN.com اطلاعات WHOIS دامنه تان را مشاهده کرده و مطمئن شوید که ‌Registrar به ONLINENIC تغییر کرده باشد.

https://whois.domaintools.com/YOURDOMAIN.com

آموزش هاست نود جی اس node.js در سرویس های سی پنل cPanel

express-js node.js socket-io

در سرویس های پریمیوم cPanel می توان برنامه های نوشته شده با فریم ورک Node.js را میزبانی کرد. برای این کار ابتدا لازم است از واحد پشتیبانی تقاضای فعال کردن دسترسی SSH را بفرمایید. پس از فعال شدن دسترسی SSH با استفاده از نرم افزار PUTTY در ویندوز به SSH سرویس تان متصل بشوید. پکیج منیجر npm به صورت پیش فرض نصب است. با استفاده از دستور npm  می توانید ماژول های مورد نظر خود را نصب کنید مثلا برای نصب socket.io یا express.js :

‌npm install socket.io express

یا برای نصب bower و coffe script

npm install bower coffee-script

اکنون فایل های اجرای bower و coffee-script در شاخه

/home/USERNAME/node_modules/.bin

موجود می باشند که USERNAME نام کاربری سی پنل شما است. یعنی برای اجرای bower یا coffee از دستورات زیر می توان استفاده کرد:

/home/USERNAME/node_modules/.bin/coffee

/home/USERNAME/node_modules/.bin/bower

برای اجرای وب سرور express.js نصب شده کافی است یک screen اجرا کنیم و فایل مربوطه را با دستور node اجرا کنیم:

screen

node index.js

سپس با زدن Ctrl + D از screen خارج می شویم. برای اتصال مجدد به screen از  دستور

screen -r

می توان استفاده کرد. استفاده از screen به این دلیل است که در صورت قطع شدن از SSH سرور node.js ایجاد شده فعال باقی بماند.

اکنون اگر نرم افزار شما در پورت localhost:8000 در حال اجرا است می توانید سایت خود را تنظیم کنید تا کلیه request ها را به پورت ۸۰۰۰ فروارد کند. برای این کار باید کد زیر را در فایل htaccess. در شاخه اصلی سایتتان قرار بدهید:

RewriteEngine On
RewriteRule ^/?(.*)$ http://127.0.0.1:8000/$1 [P,L]

اکنون سایت شما توسط node.js میزبانی می شود 🙂

 

رفع مشکل صفحه سفید ویبالتین پس از ارتقا به نسخه ۵

اگر از نسخه ویبالتین ۴ استفاده می کنید و به نسخه ۵ ارتقا بدهید ممکن است با مشکلات زیر مواجه شوید:

۱- صفحه مدیریت لود شود ولی لینک ها عمل نکنند و صفحه سفید نشان  بدهند. این مشکل با کپی کردن htaccess.txt نسخه ۵ بر روی htaccess. سایتتان برطرف می شود. اگر مشکل برطرف نشد راهنمای ویبالتین برای علت های رایج صفحه سفید را مشاهده کنید.

۲- لینک های تغییر کلمه عبور و پروفایل به درستی کار نکنند:‌ احتمالا قالب سایت شما با نسخه ۵ سازگار نیست. قالب پیش فرض را فعال کنید و بررسی کنید مشکل حل می شود

همچنین توصیه می شود پس از ارتقا از بخش تعمیرات -> عیب شناسی -> بررسی فایل های نسخه فعلی با ورژن فایل اقدام به صحت سنجی فایل ها کرده و فایل های اضافه را حذف کنید:

vb-blank-page

یعنی در عکس فوق باید فایل هایی که به عنوان File not recognized as part of vBulletin شناخته شدند حذف شوند.