כיצד לבנות בוט מברק בסיסי עם פייתון 3

כיצד לבנות בוט מברק בסיסי עם פייתון 3

אם אתה משתמש בטלגרם, סביר להניח שתקיים בשלב זה 'שיחה' עם צ'אט בוט. עם ההתאמה אישית המדהימה שלהם, הרובוטים של Telegram מציעים מגוון יתרונות-בין אם זה לאוטומציה של משימות או סתם ליהנות מהמשחקים בקבוצת הצ'אט שלך.





למרות שחלקם עשויים למצוא בפיתוח בוט משימה מרתיעה, זה ממש לא. עם התכנון הנכון, תוכל להפעיל בוט טלגרם תוך פחות משעה! להלן יצירת בוט טלגרם פשוט המפיק תמונות חמודות של חתולי אינטרנט כאשר תתבקש.





מתחילים

להדרכה זו אנו הולכים להשתמש ב- Python 3, ה- פיתון-מברק-בוט ו בקשות ספרייה, וכן TheCatAPI .





לכל בוט בטלגרם יש אסימון ייחודי שעוזר לו לתקשר איתו Bot API על מנת להשתמש בממשק ההודעות של האפליקציה. Bot API, אחת התכונות הפופולריות ביותר של טלגרם בקרב מפתחים, מאפשר לך להשתמש במסרים שלה כממשק.

כיצד להכניס את אייפון 8 למצב שחזור

כדי לקבל את האסימון, התחל איתו שיחה @BotFather שהוא, כפי שהשם מרמז, בוט רשמי המאפשר לך ליצור ולהתאים אישית בוטים משלך. אתה יכול לגשת לבוט באמצעות הקישור הנתון או לחילופין לחפש '@botfather' בטלגרם.



לאחר הצ'אט, צור את הבוט שלך על ידי הקלדת ה- /newbot פקודה. המשך להגדיר את השם ושם המשתמש של הבוט שלך (החלטנו לקרוא לשמנו @pawsomebot). בעקבות זאת תקבל אסימון ייחודי לבוט שלך.

עכשיו שיש לנו את כל התנאים המוקדמים, הגיע הזמן להגיע לחלק המרגש!





התקנת ספריות

אם אתה משתמש ב- Windows, פתח את שורת הפקודה והקלד את הפקודות הבאות:

pip install python-telegram-bot
pip install requests

אם אתה משתמש ב- macOS או Linux, השתמש במקום זאת בפקודות הבאות במסוף שלך. בנוסף ב- Linux, וודא שאתה מחובר כמשתמש בעל הרשאות sudo.





pip3 install python-telegram-bot
pip3 install requests

כתיבת התוכנית

צור תיקייה חדשה במחשב שלך ופתח אותה בעורך המועדף עליך. צור קובץ חדש ושם אותו main.py. קובץ זה יכיל את קוד המקור לבוט שלך.

כעת, נייבא את הספריות שהתקנו קודם יחד עם כמה מהפונקציות המובנות שלהן.

from telegram.ext import Updater, CommandHandler
import requests
import re

זרימת התוכנית מכאן והלאה היא לגשת ל- TheCatAPI, להשיג את כתובת האתר של תמונה אקראית ולשלוח את התמונה הזו לצ'אט של המשתמש.

נתחיל בפונקציה לקבל את כתובת האתר של התמונה, שניתן לעשות זאת באמצעות מודול הבקשות. בפונקציה זו אנו מעמיסים את נתוני JSON של קובץ אקראי המסופק על ידי TheCatAPI ומחלצים את כתובת האתר שלו לשימוש מאוחר יותר. כדי להסתכל על הפורמט של אובייקט JSON, עבור אל https://api.thecatapi.com/v1/images/search בדפדפן שלך. תבחין בדבר כזה:

[{'breeds':[],'id':'a8c','url':'url.jpg','width':800,'height':533}]

שימו לב שאובייקט JSON הוא מערך המכיל מילון. מילון זה מכיל את כתובת האתר עם המפתח 'כתובת אתר'. כדי לחלץ את כתובת האתר, עלינו להתייחס לרכיב הראשון של המערך, ולאחר מכן למפתח הרלוונטי.

def getUrl():
#obtain a json object with image details
#extract image url from the json object
contents = requests.get('https://api.thecatapi.com/v1/images/search')
url = contents[0]['url']
return url

בשלב הבא, עלינו לשלוח את התמונה הזו לצ'אט של משתמש. לשם כך אנו זקוקים לכתובת URL של התמונה וכן למזהה הייחודי של הצ'אט של המשתמש. בואו ניצור פונקציית עטיפה לשם כך. ראשית, אנו קוראים ל- getUrl () . פונקציה כדי לקבל את כתובת האתר של תמונה אקראית --- כתובת אתר זו משתנה בכל פעם שהתוכנית שלך חוזרת דרך הפונקציה.

לאחר מכן מתקבלת קבלת מזהה הצ'אט של משתמש הנמען, המגדיר את מיקום היעד של הבוט להודעות וניתוח כתובת האתר באמצעות ה- API המובנה של ה- Bot שלח תמונה() פוּנקצִיָה.

def sendImage(bot, update):
url = getUrl()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, image=url)

למידע נוסף על הפונקציות המובנות השונות של Bot API וכיצד הן פועלות, אתה מוזמן לבדוק את הטלגרם תיעוד רשמי לאחר הדרכה זו.

לבסוף, בואו ניצור פונקציה השולטת על הפעולה הכוללת של הבוט. פונקציה זו-הנקראת בדרך כלל main () --- היא המקום שבו אנו שולחים בקשת HTTP ל- API של Bot באמצעות האסימון שקיבלנו בתחילת ההדרכה ולאחר מכן מגדירים כיצד תהיה אינטראקציית המשתמש של הבוט. במקרה פשוט כמו שלנו, זה בעצם אומר ליזום את הבוט ולקרוא ל- sendImage () פונקציה כאשר המשתמש מבקש זאת.

def main():
updater = Updater('1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c')
#call sendImage() when the user types a command in the telegram chat
updater.dispatcher.add_handler(CommandHandler('meow',sendImage))
#start the bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()

התוכנית האחרונה שלך אמורה להיראות כך:

from telegram.ext import Updater, CommandHandler
import requests
import re
def getUrl():
#obtain a json object with image details
#extract image url from the json object
contents = requests.get('https://api.thecatapi.com/v1/images/search')
url = contents[0]['url']
return url
def sendImage(bot, update):
url = getUrl()
chat_id = update.message.chat_id
bot.send_photo(chat_id=chat_id, image=url)
def main():
updater = Updater('1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c')
#call sendImage() when the user types a command in the telegram chat
updater.dispatcher.add_handler(CommandHandler('meow',sendImage))
#start the bot
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()

בוט טלגרם משלך

מזל טוב! בניתם בוט משחרר מתח משלכם ששולח תמונות קוד פתוח של חתולי האינטרנט החמודים ביותר כאשר תתבקשו. נסה להריץ את התוכנית שלך והקלד /מיאו בצ'אט של הבוט שלך כדי להפעיל אותו.

למרות שמדובר בבוט פשוט עם פונקציונליות מוגבלת, הוא מראה עד כמה המערכת האקולוגית של פיתוח הבוט של טלגרם עוצמתית. אתה יכול להוסיף כל מספר תת שורות מורכבות ותכונות כדי לשפר את הפונקציונליות של הבוט שלך --- השמיים הם הגבול. למידע נוסף על בוטים מדהימים של טלגרם שהתורמים עשו לאורך השנים, בדוק את שלנו רשימת בוטים שימושיים בטלגרם .

תוכל גם למצוא מגוון תוכניות בעלות רישיון קוד פתוח לבוטים של טלגרם בפלטפורמות כגון GitHub. רוב רישיונות הקוד הפתוח מאפשרים לך להשתמש, ללמוד, להוריד או לשנות את קוד המקור של תוכנית.

אירח את Bot Telegram Online שלך

כעת, לאחר שהבוט שלך פועל, נסה לסגור main.py במחשב האישי שלך ולהשתמש בבוט באפליקציית Messenger של טלגרם. האם זה עדיין מגיב ל- /מיאו פקודה? לא, זה לא.

כמתחיל, אתה עלול להיות מבולבל מדוע main.py במחשב שלך צריך להיות פועל כאשר כבר יצרת בוט הפועל באינטרנט. הסיבה לכך היא שהתוכנית משתמשת במחשב האישי שלך כשרת מקומי כדי לשלוח בקשות HTTP לממשקי ה- API המשמשים בתוכנית זו.

ככזה, הצורך להריץ את התוכנית בכל פעם שאתה רוצה להשתמש באפליקציה אינו אפשרי ולא נוח. על מנת לפתור בעיה זו, עלינו להסיר את התלות של הבוט במכשיר שלך

אחת הדרכים לעשות זאת היא להשתמש במעגל מודפס בעלות נמוכה (PCB), כגון Raspberry Pi, כדי להקים שרת אינטרנט משלך ולהשתמש בו להפעלת התוכנית שלך. יש לה את אותם יתרונות כמו הפעלת התוכנית במחשב האישי שלך ללא עלויות שמירה עליה כל היום והלילה, מכיוון של PCB יש נטייה של טביעת רגל נמוכה משמעותית.

לחלופין, תוכל גם לפרוס את התוכנית שלך לענן. עבור אל פלטפורמת אירוח של אפליקציות אינטרנט כגון Heroku, AWS, Google Cloud או Microsoft Azure ובחר מנוי המתאים ביותר לצרכיך. אנו ממליצים לבחור ניסיון או מנוי חינם ולשדרג אותם ככל שאתה מגדיל את היקף התוכנית שלך או את היקפה.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל כיצד לארח את אתר פייתון שלך בחינם בהרוקו

צריכים לארח אתר קטן ללא עלות? Heroku יכול להיות בדיוק מה שאתה מחפש.

קרא הבא
נושאים קשורים
  • תִכנוּת
  • פִּיתוֹן
  • מִברָק
  • צ'אט בוט
  • בוטים של מדיה חברתית
על הסופר יאש צ'לאני(פורסמו 10 מאמרים)

יאש הוא סטודנט שאפתן למדעי המחשב שאוהב לבנות דברים ולכתוב על כל הדברים הטכנולוגיים. בזמנו הפנוי הוא אוהב לשחק סקווש, לקרוא עותק של Murakami האחרון ולצוד דרקונים ב- Skyrim.

עוד מאת יאש צ'לאני

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה