آذرسیس

آموزش مرحله به مرحله ساخت ربات تلگرام
5/5 - (2 امتیاز)

تلگرام رقیب پر و پا قرص دیرینه هر پیام رسان است که با توجه به کارایی و سطوح امنیتی مختلف در آن موجب جلب رضایت سیل عظیمی از کاربران جهان شده است. از دیگر جذابیت های این پلتفرم ساخت ربات تلگرام می باشد که به عنوان یک انقلاب در نحوه تعامل کاربران با فناوری و کسب و کار شناسایی می شود. موضوع جذاب ساخت ربات تلگرام، با توجه به در نظر گرفتن سطح یک کاربر مبتدی در این مقاله مورد بحث و بررسی قرار خواهد گرفت. پس حواس تان را جمع کنید که می خواهیم ساده ترین مراحل ساخت ربات Telegram را به شیوه کارشناسان فضاهای اجتماعی آذرسیس کاوش کنیم…

مرحله به مرحله ساخت ربات تلگرام

ساده ترین مراحل ساخت ربات تلگرام

1- برای ساخت Robot در Telegram اول باید از طریق BotFather اقدام به ساخت ربات مد نظرتان بکنید. BotFather خود به عنوان یک ربات ساخت تلگرام شناخته می شود که به عنوان یکی از آسان ترین راه و روش های ایجاد ربات جدید شناخته شده است.

2- در ربات BotFather دستورالعمل newbot/ را وارد کنید و با اقدامات مشخص شده (تعیین نوع ربات) در تصویر زیر ربات دلخواه تان را بسازید.

نکته مهم! ویژگی های مهمی که در هنگام ساخت ربات تلگرام باید رعایت کنید، شامل مشخص کردن نام و نام کاربری مناسب ( که باید به “bot” ختم شود)، یادداشت کردن رمز دسترسی و نام کاربری برای دسترسی های بعدی می باشد.

ساده ترین مراحل ساخت ربات تلگرام

3- در این مرحله باید Logic چت بات را به اصطلاح کد کنید! این کار بسیار ساده است و اگر مانند ما از اوبونتو استفاده می کنید، کافیست دستورات زیر را به صورت ترتیبی و با دقت کامل وارد کنید.

4- یک محیط مجازی ایجاد کنید. این کار به جداسازی نیاز های پروژه شما از محیط پایتون کمک می کند:

python -m venv botenv/

5- یک دایرکتوری botenv/ ایجاد خواهد شد، این دایرکتوری Python Libraries را به صورت کامل در اختیار دارد. در ادامه ساخت ربات تلگرام، Virtualenv را از طریق دستور زیر اعمال کنید:

source botenv/bin/activate

6- گزینه هایی که برای ساخت ربات تلگرام در این مرحله نیاز خواهید داشت، عبارت اند از:

  1. Flask
  2. Python-telegram-bot
  3. Requests

که با استفاده از دستور pip می توانید در یک محیط مجازی به طور کامل تمام این موارد را اعمال کنید:

(telebot) $ pip install flask
(telebot) $ pip install python-telegram-bot
(telebot) $ pip install requests

در ادامه نحوه ساخت ربات تلگرام، می توانید فهرست های ایجاد شده در Project Directory خودتان را به صورت کامل بررسی نمایید:

.
├── app.py
├── telebot
│ ├── credentials.py
│ .
│ you can build your engine here
│ .
│ └── __init__.py
└── botenv

7- سه فایل مورد نیاز را در فایل Credentials.py ایجاد کنید:

bot_token = "here goes your access token from BotFather"
bot_user_name = "the username you entered"
URL = "the heroku app link that we will create later"

8- مجدد به App.py بازگردید و بررسی های لازم در کدها را انجام دهید:

import everything
from flask import Flask, request
import telegram
from telebot.credentials import bot_token, bot_user_name, URL
global bot
global TOKEN
TOKEN = bot_token
bot = telegram.Bot(token=TOKEN)

9- اکنون ما موفق شده ایم تا Bot Object را به درستی بسازیم و هر عکس العملی را از ربات دریافت کنیم:

start the flask app
app = Flask(__name__)

10- Functions یا به عبارت دیگر توابع را باید به Route های خاصی متصل کنیم. در واقع باید به Flask بگوییم که دقیقاً انتظار داریم چه کاری برای ما انجام دهد. در حالت زیر ما به طوری تنظیمات را انجام داده ایم که با استفاده از URL پاسخ را دریافت کنیم:

@app.route('/{}'.format(TOKEN), methods=['POST'])
def response():
retrieve the message in JSON and then transform it to Telegram object
update = telegram.Update.de_json(request.get_json(force=True), bot)

chat_id = update.message.chat.id
msg_id = update.message.message_id

Telegram understands UTF-8, so encode text for unicode compatibility
text = update.message.text.encode('utf-8').decode()
for debugging purposes only
print("got text message :", text)
the first time you chat with the bot AKA the welcoming message
if text == "/start":
print the welcoming message
bot_welcome = """
Welcome to coolAvatar bot, the bot is using the service from http://avatars.adorable.io/ to generate cool looking avatars based on the name you enter so please enter a name and the bot will reply with an avatar for your name.
"""
send the welcoming message
bot.sendMessage(chat_id=chat_id, text=bot_welcome, reply_to_message_id=msg_id)


otherwise:
try:
clear the message we got from any non-alphabets
text = re.sub(r"\W", "_", text)
create the api link for the avatar based on http://avatars.adorable.io/
url = "https://api.adorable.io/avatars/285/{}.png".format(text.strip())
reply with a photo to the name the user sent,
note that you can send photos by url and telegram will fetch it for you
bot.sendPhoto(chat_id=chat_id, photo=url, reply_to_message_id=msg_id)
Exception:
if things went wrong
bot.sendMessage(chat_id=chat_id, text="There was a problem in the name you used, please enter different name", reply_to_message_id=msg_id)

return 'ok'

11- هر ثانیه باید فراخوانی هایی انجام دهید تا بتوانید بررسی کنید که آیا پیام جدید دریافت کرده اید یا خیر؟ و یا می توانید در یک روش ساده تر که ما نیز در این مقاله استفاده خواهیم کرد از Webhook بهره ببرید. در نظر داشته باشید در دستور زیر شما به عنوان فردی در نظر گرفته شده اید که اقدام Call را انجام دهید:

@app.route('/setwebhook', methods=['GET', 'POST'])
def set_webhook():
We use the bot object to link the bot to our app which lives
in the link provided by URL
s = bot.setWebhook('{URL}{HOOK}'.format(URL=URL, HOOK=TOKEN))
something to let us know things work
if s:
return "webhook setup ok"
otherwise:
return "webhook setup failed"

12- اکنون زمان آن است که یک صفحه اصلی شیک پس از ساخت ربات تلگرام بسازید:

@app.route('/')
def index():
return '.'
if __name__ == '__main__':
note the threaded arg which allows
your app to have more than one thread
app.run(threaded=True)

13- می توان گفت این آخرین کد هایی است که برای ساخت ربات تلگرام خواهید نوشت! پس اندکی صبر کنید تا برنامه را در Heroku راه اندازی کنیم. برای این کار باید فایل Requires.txt و pip را برای شناسایی Libraries پروژه خود در Heroku به کار ببرید:

pip freeze > requirements.txt

14- یک Procfile ایجاد کنید و موارد زیر را اضافه کنید:

web: gunicorn app: app

15- از داشبورد Heroku، اکنون به Deploy هدایت خواهید شد. تنظیمات را باز کرده و دامنه را که شبیه https://appname.herokuapp.com/ است را کپی کنید. سپس در URL قسمت Credentials.py قرار دهید.

ساده ترین مراحل ساخت ربات تلگرام

16- به Deploy برگردید و وارد Heroku شوید:

heroku login

17- اگر Log in موفق عمل نکرد از دستور زیر استفاده کنید:

heroku login -i

18- در قسمت دایرکتوری باید یک مخزن Git راه اندازی کنید:

git init
heroku git:remote -a {heroku-project-name}

19- برنامه را Deploy کنید:

git add .
git commit -m "first commit"
git push heroku master

20- اکنون به App Page بروید و از طریق صفحه اپلیکیشن در انتها لینک عبارت Setwebhook/ را وارد کنید. اگر Webhook Setup را مشاهده می کنید به معنی این خواهد بود که همه مراحل را درست پیش برده اید.

تبریک می گویم! ساخت ربات تلگرام شما به پایان رسید!

اکنون که ساخت ربات تلگرام شما به پایان رسید، قادر است به صورت 24 ساعته و بدون نیاز به دخالت هرگونه کاربر به فعالیت خودش ادامه دهد! اما با توجه به محدودیت های سرعت و دسترسی استفاده از سرور مجازی ویندوز در این آموزش را نباید فراموش کنید! برای راهنمایی های بیشتر می توانید به وب سایت آذرسیس مراجعه نمایید.

ساخت ربات تلگرام

سخن آخر

امیدواریم مطالعه عنوان ساخت ربات تلگرام، در سری وبلاگ های منتشر شده از آذرسیس، شما را هرچه بیشتر با شگفتی های ناشناخته در دنیای دیجیتال آشنا کرده باشد. اگر در هر کدام از مراحل بالا هرگونه سوال فنی و تخصصی در زمینه ساخت ربات تلگرام برای شما رخ دهد، می توانید آن را به صورت کامنت برای برقراری ارتباط با کارشناس در قسمت پایانی پست ارسال نمایید. آذرسیس شماره یک آموزش در زمینه وب شما را به مطالعه بیشتر در وبلاگ های خود دعوت می کند…

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *