سلام
در این قسمت قصد دارم چگونگی دریافت پیام متنی (TextMessage) و پاسخ به اون پیام رو آموزش بدم.
قبل از اینکه شروع کنیم متوجه یک موضوعی شدم که شما اگر با کتابخانه پایتون تلگرام کارکرده باشید فقط با تغییرات کوچکی میتونید بات تون رو در بله هم اجرا کنید.
برای اطلاعات بیشتر به این لینک مراجعه کنید.
خوب بریم سراغ ادامه آموزش با API قدیم بله که منحصرا برای خودش نوشته نه اینکه سازگار کنه خودشو با تلگرام
در ابتدا یک فایل با پسوند py ایجاد میکنیم و در داخل آن ماژول های مورنیاز را اضافه میکنیم.
1 2 3 4 |
from balebot.filters import * from balebot.models.messages import * from balebot.handlers import MessageHandler from balebot.updater import Updater |
در قسمت بعد Token که از Bot Father در یافت کردیه ایم رو جایگزین میکنیم:
1 2 |
updater = Updater(token="Token",loop=asyncio.get_event_loop()) dispatcher = updater.dispatcher |
در این بخش ما با استفاده از دکوراتور پیام های متنی رو فیلتر میکنیم و فقط به اون ها پاسخ میدهیم.(پیام رو reply کرده و hello ارسال میکنیم)
اگر نمیدونید دکوراتور چی هست اشکالی نداره به این لینک مراجعه کنید با مثال به طور واضح و ساده توضیح داده شده.
1 2 3 4 |
@dispatcher.message_handler(TextFilter()) def echo(bot, update): message = TextMessage('Hello') bot.reply(update, template_message) |
و در نهایت کل برنامه ما به صورت زیر خواهد بود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import asyncio from balebot.filters import * from balebot.models.messages import * from balebot.handlers import MessageHandler from balebot.updater import Updater updater = Updater(token="02c0f800343f6f0bbd91859e02230eef1e66732d",loop=asyncio.get_event_loop()) dispatcher = updater.dispatcher @dispatcher.message_handler(TextFilter()) def echo(bot, update): message = TextMessage('Hello') bot.reply(update, template_message) updater.run() |
تبریک میگم ! شما اولین بات خودتون رو نوشتید.
برای مثال های بیشتر و کامل تر به گیت هاب و بخش منسوخ شده توسعه دهندگان بله به آدرس https://developers.bale.ai/ مراجعه کنید.
إن شاء الله در اینده نزدیک با آموزش های جدید با api جدید درخدمتتون خواهیم بود.
Traceback (most recent call last):
File “/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py”, line 31, in
start(fakepyfile,mainpyfile)
File “/data/user/0/ru.iiec.pydroid3/files/accomp_files/iiec_run/iiec_run.py”, line 30, in start
exec(open(mainpyfile).read(), __main__.__dict__)
File “”, line 3, in
ModuleNotFoundError: No module named ‘balebot’
[Program finished]
وقتی ران میکنم این ارور رو میده مشکل از کجاست؟
سلام
از موقعی که من این پست رو گذاشتم احتمالا کتابخونه شو آپدیت کردن
داکیومنتش رو چک کنید