راه اندازی بات تلگرام با استفاده از فلاسک Flask و پایتون در سی پنل cPanel
[ad_1]
در ادامه آموزشی که برای راه اندازی جنگو Django با سی پنل cPanel با استفاده از mod_passenger گذاشته بودیم امروز آموزش راه اندازی یک بات ساده تلگرام با استفاده از فریم ورک فلسک Flask را خواهیم داشت .
ابتدا از Lets Encrypt موجود در cPanel یک ssl رایگان بر روی دامنه مورد نظر نصب کرده و سپس از Python selector اقدام به نصب فریم ورک و ماژول تلگرام می کنیم :
سپس فایل 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
[ad_2]
لینک منبع