background

سەرەتایەک بۆ دروستکردنی بۆتی تەلەگرام بە پایثۆن

هاوپۆل: بەرنامەدارشتن  ژ.بابەت : 4273  بەروار : كانونی دووه‌م 31, 2021
QR Code For:  سەرەتایەک بۆ دروستکردنی بۆتی تەلەگرام بە پایثۆن

تەلەگرام پەیامبەرێکی بەناوبانگە، 500 ملیۆن بەکارهێنەری چالاکی مانگانەی هەیە لە زۆر وڵات و نەتەوەوە. بۆتەکانی تەلەگرام هەژماری تایبەتن کە پێویستییان بە ژمارەی تەلەفون نییە بۆ دروستکردن و لە رێی بۆت ئەی پی ئایی تەلەگرامەوە کە ئەی پی ئایێکی HTTPـە بەکاردێن.

بۆ ئەوەی بتوانین بۆتی تەلەگرامی پێشکەوتوو و سوودبەخش دروستبکەین، پێویستمان بە زمانێکی بەرنامەسازییە. بۆ هەر زمانێکیش کۆمەڵە تووڵ و لایبرەرییەک هەن کە بەکارهێنانی بۆت ئەی پی ئای ئاسانتردەکەن. پایثۆن یەکێکە لە زمانە بەناوبانگەکان بۆ دروستکردنی بۆتی تەلەگرام و بەناوبانگترین لایبرەریی پایثۆن بۆ دروستکردنی بۆتی تەلەگرام python-telegram-botـە.

لەم وتارە، باس لە دروستکردنی بۆتێکی سادە دەکەین بە بەکارهێنانی python-telegram-bot و پایثۆن.

پێداویستییەکان

بۆ ئەوەی بتوانیت لەگەڵ ئەم وتارە برۆیت بێ ئەوەی هیچ کێشەیەکت بۆ دروستبێت دەبێت دڵنیابیت لەوەی کە ئەم پێداویستییانەی خوارەوەت هەیە:

  1. وەشانی 3.6 یان نوێتری پایثۆن.
  2. نوێترین وەشانی پیپ.
  3. ئێدیتەرێکی سادە (پێشنیار: VS Code).

ئەگەر لەسەر ویندۆزیت، دەتوانیت پایثۆن و پیپ هەردووکیان لێرە دابگریت. ئەگەر لەسەر لینوکسیت، پێویست ناکات پایثۆن دابگریت چونکە لەسەر زۆر لە دابەشکراوەکان هەیە بەڵام دڵنیابە لەوەی کە پیپت هەیە.

بۆ داگرتنی پیپ لەسەر دابەشکراوەکانی دێبیان:

sudo apt update && sudo apt upgrade -y && sudo apt install python3-pip -y

وە بۆ دڵنیابوونەوە لەوەی کە پیپ نوێترین وەشانە، ئەمە بکە:

python3 -m pip install -U pip

بۆ داگرتنی ڤی ئێس کۆدیش، سەردانی ئێرە بکە.

دروستکردنی بۆتێک و دەستکەوتنی تۆکنەکەی بۆ بەکارهێنانی

گەڕانێکی تەلەگرام بۆ BotFather

1. لە بەشی گەرانی بەرنامەی تەلەگرامت، بگەرێ بۆ: BotFather و ئەو ئەنجامە هەڵبژێرە کە هێمای راستەکەی پێوەیە.

BotFather

2. دوگمەی START بکە.

/newbot

3. /newbot بنێرە.

4. ناوێک بنێرە بۆ بۆتەکەت.

ناردنی ناوی بەکارهێنەری بۆتەکەت

5. ناوی بەکارهێنەرێک بنێرە بۆ بۆتەکەت.

هەڵگرتنی تۆکنی بۆتەکەت

6. تۆکنی بۆتەکەت هەڵگرە بۆ ئەوەی دواتر بۆ بەکارهێنانی بۆت ئەی پی ئای بەکاریبێنیت.

دامەزراندنی پێداویستییەکانی پیپ

pip install -U python-telegram-bot

ئێکستێنشنی پایثۆن بۆ ڤی ئێس کۆد (ئارەزوومەندانە)

VS Code Python Extenion

python-telegram-bot

لایبرەرییەکی پایثۆنە، هەموو تایپەکانی بۆت ئەی پی ئایی تەلەگرامی بۆ کردوویت بە کڵاسی پایثۆن بۆ ئەوەی ئاسانتر بەکاریانبێنیت و هەموو مێثۆدەکانی ئەی پی ئایەکەی کردووە بە فەنکشن بۆ تۆ. دەتوانیت بە هەردوو رێگای getUpdates و وێبهووک بۆتی پێ دروستبکەیت.

رێگای getUpdates وۆرکەرێک یان چەند وۆرکەرێک دروستدەکات کە هەموو ساتێک داوایەک دەنێرێت بۆ راژەی تەلەگرام بۆ بینینی ئەو شتانەی کە بۆ بۆتەکە هاتووە. رێگای وێبهووک وەک ئەوە وایە تۆ راژەیەکت هەبێت و هەر کاتێک شتێک هات بۆ بۆتەکە تەلەگرام بۆ بە راژەکەی تۆ بڵێت. رێگای باوتر getUpdatesـە و سەرئێشەی کەمترە.

یەکەم بۆتت

فایلێکی پایثۆن دروستبکە و بیکەوە بە ئێدیتەرەکەت، پێش هەموو شتێک شتە پێویستەکانی ناو python-telegram-bot ئیمپۆرتبکە:

from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

دوای ئەوە پێویستت بە چەند فەنکشنێکە بۆ ئەوەی بانگ بکرێن کاتێک فەرمان یان پەیامێکی دیاریکراو بۆ بۆتەکەت دێت، ئەم فەنکشنانە پێیان دەوترێت Handler Callback، دەبێت دوو پارامیتەریان هەبێت ئەوانیش update و context.

ئەم فەنکشنەی خوارەوە، وەڵامی بەکارهێنەرەکە بە «تۆ منت دەستپێکرد!» دەداتەوە:

def start(update, context):
    update.message.reply_text("تۆ منت دەستپێکرد!")

وە ئەمەشیان ئەو نووسینەی بەکارهێنەرەکە ناردوویەتی دووبارە دەکاتەوە:

def echo(update, context):
    update.message.reply_text(f"تۆ وتت: {update.message.text}")

دواتر دەبێت ئەم Handler Callbackـانە لە هاندلەری نوێدا دابنێیت، بۆ ئەوەش ئەپدەیتەرێک دروستبکە و لە یەکەم پارامیتەر بە سترینگێک تۆکنی بۆتەکەت دابنێ (ئەوەی لە BotFather دەستتکەوتبوو):

updater = Updater("TOKEN")

دواتر لە رێی Dispatcherـی Updaterـەکەوە هاندلەرەکان زیادبکە:

updater.dispatcher.add_handler(CommandHandler("start", start))
updater.dispatcher.add_handler(MessageHandler(Filters.text & ~ Filters.command, echo))

هاندلەری یەکەم کە زیادکرا، هاندلەری فەرمانە. پارامیتەری یەکەم ئەو فەرمانەیە کە بۆ بۆتەکە دێت، لەوێ startـە. وە پارامیتەری دووەم فەنکشنی Callbackـەکەیە، واتە ئەو فەنکشنەی بانگدەکرێت کاتێک فەرمانی ستارت دەنێررێت بۆ بۆتەکە.
و هاندلەری دووەم، هاندلەری پەیامە. پارامیتەری یەکەم کۆمەڵە پالاوتنێکە، لەوێ وتوومانە دەبێت پەیامەکە نووسین بێت وە هەروەها فەرمان نەبێت. نیشانەی & وەک کیوۆردی and وایە لەوێدا وە نیشانەی ~ وەک کیوۆردی not وایە. تەنها ئەوەیە کیوۆردەکان bitwise نین. پارامیتەری دووەمیش بە هەمان شێوەی هاندلەری فەرمانەکەیە.

دوای ئەنجامدانی هەموو ئەوانەی سەرەوە دەبێت Updaterـەکە بخەینە کار و وا بکەین بەرنامەکە block بکات (دانەخرێتەوە) تاوەکو لەکاردایە:

updater.start_polling()
updater.idle()

تەواو! هەموو شتێک ئامادەیە! فایلەکە رەنبکە، تەلەگرام بکەوە، لە بەشی گەران بۆ بۆتەکەت بگەرێ و دەستیپێبکە.
کە بۆتەکەت دەستپێکرد، دەبێت بە «تۆ منت دەستپێکرد!» وەڵامت بداتەوە و کە نووسینێکت بۆ نارد بڵێت «تۆ وتت:‌ نووسینەکەت».

تەواوی کۆدەکە:

دەرئەنجام

  • تێگەیشتن لە رێگاکانی وەرگرتنی ئەپدەیت.
  • تێگەیشتن لە Updater و Handlerـی python-telegram-bot.
  • دروستکردنی یەکەم بۆتی تەلەگرامت.

زیاتر

هەوڵبدە هاندلەری تر زیادبکە و مۆدیولی دیکەی پایسۆن بەکاربێنە بۆ ئەوەی بۆتەکەت بە کەڵک بێت.
کۆدەکەی سەرەوە لێرە بەردەستە.
دۆکیومێنتەیشنی python-telegram-bot لێرەیە.
بۆ دەستکەوتنی هاوکاریی زیاتر یان گفتوگۆکردن، پەیوەستی ئەم گروپە ببە لە تەلەگرام.

rojserbest

ژمارەی بابەتەکان: 1

  • بۆچوونەکان

    نووسینی وەڵام

    پۆستی ئەلکترۆنیکەت بڵاو ناکرێتەوە . خانە پێویستەکان دەستنیشانکراون بە *