ساخت ربات تلگرام موضوعی است که خیلی ها بهدنبال آن هستند، در این مقاله از فرامهام قصد داریم نحوه ساخت ربات تلگرام را به ساده ترین شکل ممکن و با دو روش متفاوت آموزش دهیم. در انتهای این آموزش میتوانید از طریق کدنویسی، ربات تلگرام بسازید.
برای ساخت انواع ربات اینترنتی میتوانید از خدمات آژانس دیجیتال مارکتینگ فرامهام استفاده کنید و ربات اختصاصی خود را سفارش دهید.
ساخت ربات تلگرام
- 1. ربات “botfather” را در تلگرام جستجو کنید.
- 2. برای دیدن تمامی دستورات این ربات
/help
را تایپ کنید. - 3. برای ساخت ربات تلگرام جدید روی
/newbot
کلیک کنید یا آنرا تایپ کنید.
یک اسم برای ربات خود در نظر بگیرید. اگر ربات را فقط جهت آزمایش ایجاد میکنید، میتوانید اسم خودتان را قبل از اسم ربات بیاورید (باید یک اسم منحصر بفرد باشد که تا حالا کسی انتخاب نکرده).
- 4. تبریک میگم! شما اولین ربات خود را بههمین راحتی ساختید. حالا باید توکن API خود را مشاهده کنید. (برای مثال، در عکس قبلی توکن ایجاد شده
270485614:AAHfiqksKZ8WmR2zSjiQ7_v4TMAKdiHm9T0
است). حالا میتوانید ربات ایجاد شده خود را در تلگرام جستجو کنید. - 5. شروع کنید به چت کردن با ربات خودتان
ناامید کننده است که ربات هیچ پاسخی به ما نمیدهد. این مشکل را میتوانید با ساختن سرور بات که در پشت زمینه اجرا میشود، حل کنید.
راه اندازی سرور ربات برای ساخت ربات تلگرام
هر زمان که شما پیامی به ربات میدهید، ربات پیام را در قالب یک API به سرور انتقال میدهد. این سرور پیام ها را پردازش و به تمام پیام هایی که شما برایش ارسال کردید، پاسخ میدهد. دو روش برای اینکه بفهمیم کسی به ربات ما پیام داده است یا خیر، وجود دارد:
1.واکشی بلند مدت (Long polling)
بصورت دوره ای برای دریافت پیام ها جستجویی را انجام میدهیم. (این روش سفارش نمیشود.)
2. از طریق وب هوک ها (Webhooks)
توسط این روش هر زمان که پیامی دریافت شد، ربات از طریق API متوجه میشود. (این روش خیلی سریعتر و کاراتر است).
ما برای این آموزش از Webhooks استفاده میکنیم. هر Webhook توسط یک بروزرسانی صدا زده میشود. بیایید با هم سرور خود را برای مدیریت این بروزرسانی ها راه اندازی کنیم. ما سرور خودمان را با استفاده از node.js راه اندازی کردیم، اما شما میتوانید از هر گزینه ای که فکر میکنید برایتان مناسب تر است استفاده کنید. بعد از اینکه node و npm نصب شد، پروژه خودتان را راه اندازی کنید.
## Create a new directory and enter it
mkdir my-telegram-bot
cd my-telegram-bot
## Initialize your npm project
npm init
بعد از اجرای این مراحل در آخر برای ساخت ربات تلگرام به یک فایل package.json
میرسیم.
سپس، متعلقات مورد نیاز را با اجرای کد تکه کد زیر نصب کنید
npm install --save express axios body-parser
express
سرور اپلیکیشن ماaxios
کلاینت httpbody-parser
به ما در تجزیه بدنه پاسخی که از هر درخواست دریافت شده کمک میکند
رای ساخت ربات تلگرام یک فایل جدید بنام index.js
بسازید
var express = require('express')
var app = express()
var bodyParser = require('body-parser')
const axios = require('axios')
app.use(bodyParser.json()) // for parsing application/json
app.use(
bodyParser.urlencoded({
extended: true
})
) // for parsing application/x-www-form-urlencoded
//This is the route the API will call
app.post('/new-message', function(req, res) {
const { message } = req.body
//Each message contains "text" and a "chat" object, which has an "id" which is the chat id
if (!message || message.text.toLowerCase().indexOf('marco') < 0) {
// In case a message is not present, or if our message does not have the word marco in it,
do nothing and return an empty response
return res.end()
}
// If we've gotten this far, it means that we have received a message containing the word
"marco".
// Respond by hitting the telegram bot API and responding to the approprite chat_id with
the word "Polo!!"
// Remember to use your own API toked instead of the one below
"https://api.telegram.org/bot/sendMessage"
axios
.post(
'https://api.telegram.org/bot270485614:AAHfiqksKZ8WmR2zSjiQ7_v4TMAKdiHm9T0/sendMessage',
{
chat_id: message.chat.id,
text: 'Polo!!'
}
)
.then(response => {
// We get here if the message was successfully posted
console.log('Message posted')
res.end('ok')
})
.catch(err => {
// ...and here if it was not
console.log('Error :', err)
res.end('Error :' + err)
})
})
// Finally, start our server
app.listen(3000, function() {
console.log('Telegram app listening on port 3000!')
})
میتوانید این سرور را بر روی ماشین لوکال با اجرای کد node index.js
اجرا کنید.
اگر همه چیز را خوب پیش برده باشید، باید این پیام را در کنسول خود ببینید “Telegram app listening on port 3000!”
اما، این کار کافی نیست. وقتی که ربات را بر روی ماشین لوکال اجرا میکنید، ربات نمیتواند API را صدا بزند. برای اینکار و ساخت ربات تلگرام احتیاج به یک نام دامنه پابلیک دارید. یعنی باید برنامه خود را بر روی سرور پیاده کنیم.
سرویس خود را توسط تکه کد زیر نصب کنید
npm install -g now
اسکریپت start را به فایل package.json
اضافه کنید.
فایل اصلی package.json
من شبیه تکه کد زیر است:
{
"name": "telegram-bot",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "Soham Kamani <sohamkamani@gmail.com> (http://sohamkamani.com)",
"license": "ISC"
}
سکریپت start را اضافه کنید تا کدی شبیه به کد زیر داشته باشید:
{
"name": "telegram-bot",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start" : "node index.js"
},
"author": "Soham Kamani <sohamkamani@gmail.com> (http://sohamkamani.com)",
"license": "ISC"
}
زمانیکه اسکریپت را اضافه کردید، دستور زیر را اجرا کنید:
now
نکته ساخت ربات تلگرام: بخاطر داشته باشید که اینکار را در روت فولدر پروژه خود انجام دهید، جاییکه فایل package.json
قرار دارد.
اگر اولین بارتان است که از دستور “now” استفاده میکنید، دستور العملهایی را دریافت خواهید کرد، ولی پس از آن باید چیزی شبیه به پیام زیر را دریافت کنید:
عالیست! این پیام بدین معنیست که سرور شما بر روی https://telegram-bot-zztjfeqtga.now.sh
راه اندازی شده است (یا هر لینکی که بجای این لینک مشاهده میکنید)، و API شما باید در آدرس https://telegram-bot-zztjfeqtga.now.sh/new-message
موجود باشد (همانطور که در index.js
تعریف شده است)
حالا، تمام کاری که باید انجام دهیم اینست که باید به تلگرام بفهمانیم هر وقت که پیام جدیدی دریافت شد ربات ما باید با این آدرس تعامل داشته باشد. اینکار را از طریق API تلگرام انجام میدهیم. خط زیر را در ترمینال خود وارد کنید:
curl -F "url=https://telegram-bot-zztjfeqtga.now.sh/new-message" https://api.telegram.org/bot/setWebhook
و تقریبا کار تمام است! حالا دست بکار شوید و با ربات ساخته دست خودتان چت کنید تا ببینید چه اتفاقی می افتد!
روش دوم ساخت ربات تلگرام
ساخت ربات تلگرام رایگان
ساخت ربات تلگرام برای مقاصد مختلفی ممکن است مورد استفاده قرار بگیرد
مثال های از موارد استفاده ساخت ربات تلگرام:
- ساخت ربات های پشتیبانی
- اتومات سازی کارها مثل چت زنده که نمونه آنرا در عکس زیر میتوانید مشاهده کنید:
تلگرام با ماهانه 200,000,000 کاربر فعال و رشد سالیانه 50% جای مناسبی برای ربات های ارتباط با مشتری محسوب میشود. پلتفرمیست که مخاطبین شما در حال حاضر در حال استفاده از آن هستند بعلاوه اینکه ساخت ربات برای تلگرام بسیار آسان است.
با داشتن دانش کافی از این آموزش و مقداری مطالعه بیشتر خودتان میتوانید ربات چت پشتیبانی برای شرکت خود راه اندازی کنید. میتوانید یک RSS feed reader، پنل کنترل برای خانه هوشمند خود یا رباتی که صرفا برایتان جملات ارزشمند بزرگان را نمایش دهد بسازید.
با کمی مطالعه بیشتر و عمیقتر شدن در کدنویسی برای ربات ها میتوانید کارهای به مراتب بزرگتری را انجام دهید. اگر وقت کافی ندارید و میخواهید یک تیم تخصصی ساخت ربات تلگرام را برای شما انجام دهد، میتوانید برنامه نویسی و ساخت ربات تلگرام خودتان را به تیم تخصصی فرامهام بسپارید.
قبل از شروع به موارد زیر احتیاج دارید
- terminal bash: این بسته نصبی بههمراه سیستم عامل مک و لینوکس وجود دارد، اما اگر از سیستم عامل ویندوز استفاده میکنید، میتوانید از شبیه ساز ها برای اینکار استفاده کنید که در زیر دو نمونه آموزش و امولاتور را برای شما قرار دادم.
آموزش اجرای امولاتور روی ویندوز
- Ruby: برای آموزش مربوط به هر سیستم عامل به صفحه مستند سازی سایت روبی مراجعه کنید. من بشخصه از Homebrew در سیستم عامل مک استفاده میکنم، اما کاربران ویندوز میتوانند از این ابزار استفاده کنند.
- Bundler :Bundler به مدیریت بهتر Ruby gems کمک میکند، که عملکرد بیشتری را به برنامه های شما میدهد. برای اضافه کردن یک رابط به API تلگرام برای ربات شماست. براحتی میتوانید با اجرای دستور
gem install bundler
در ترمینال باندلر را نصب کنید.
- ادیتور متن: میتوانید از Notepad یا TextEdit استفاده کنید، اما پیشنهاد من برای اینکار Atom هست، چون با این ادیتور خطاهای کدنویسی و خطاهای دستوری بهتر و راحتتر نمایان هستند.
حالا که تمامی این موارد را نصب و اجرا کردید نوبت به آموزش ساخت ربات تلگرام میرسد.
مرحله اول: دانلود نرم افزار تلگرام برای دسکتاپ
تلگرام نرم افزاریست که برای موبایل نوشته شده ولی شما برای توسعه کدها به نسخه دسکتاپ آن احتیاج دارید. با نصب نسخه دسکتاپ برای تست کدهای خود دیگر احتیاجی نیست هر دفعه قفل صفحه گوشی خود را باز کنید و همچنین میتوانید کدها و API تلگرام را بهراحتی و مستقیم داخل ادیتور خود کپی کنید.
مرحله دوم: گرفتن کد API از BotFather
- داخل تلگرام دسکتاپ Botfather رو سرچ کنید
- دستور
/start
را تایپ کنید - لیستی از دستوراتی میبینید که با استفاده از آنها میتوانید ویرایش و مدیریت ربات های خود را انجام دهید. از آنجایی که این بار اول شماست باید دستور
/newbot
را وارد کنید. - در مقایسه با ساختن ربات توییتر، یا ربات Mastodon یا هر ربات دیگری، تلگرام مراحل راه اندازی اولیه ربات را برای ما خیلی راحت کرده. بی شک بهترین ابزار برای ساخت ربات میتواند تلگرام باشد!
- بعد از اینکه دستور
/newbot
را وارد کردید، باید برای ربات یک نام و نام کاربری انتخاب کنید. نام ربات چیزیست که مخاطبین آنرا در لیست مخاطبین خود میبینند، و نام کاربری چیزیست که کاربران با جستجوی این نام کاربری ربات شما را در تلگرام پیدا میکنند. نام کاربری ربات را جوری انتخاب کنید که هم خاص و هم براحتی قابل حفظ کردن باشد. - بعد از انجام این مراحل ربات شما یک API key دریافت میکند. API key چیزیست که تلگرام با آن کدهایی که شما برای ربات خود نوشتید را شناسایی و اجرا میکند. هر رباتی در API key مخصوص بخود را دارد، و اینکه این نکته را در نظر داشته باشید که نباید آنرا با شخص دیگری در میان بگذارید در غیر اینصورت بقیه براحتی میتوانند از ربات شما برای مقاصد و اهداف خود استفاده کنند.
مرحله سوم: راه اندازی bot’s gems و دایرکتوری
- ترمینال را باز کنید و دستور
mkdir telegram-bot
را داخل آن وارد کنید. این دستور یک پوشه جدید برای فایل های ربات شما ایجاد میکند. - بهترین کار قرار دادن تمام فایل ها درون یک پوشه است تا بتوانید راحتتر به مدیریت فایل های ربات تلگرام خود بپردازید. با دستور
cd telegram-bot
به دایرکتوری مربوطه رفته و دستورات زیر را وارد کنید: touch Gemfile
touch bot.rb
atom .- توسط دستورات بالا شما دو فایل خالی ایجاد کردید، یکی برای مشخص کردن gems که مورد نیازتان است و یکی برای کدهای ربات که قرار است فعال شود. آخرین دستور ساخت ربات تلگرام هر دوی این فایل ها را در ویرایشگر Atom باز میکند.
برای سفارش ساخت ربات تلگرام با ما در ارتباط باشید:
2 پاسخ
سلام
ایا رباتی هست که مطالب یک کانال ویا گروه را بصورت اکسل یا … ارایه نمایید
از این آموزش ها بیشتر بزارین لطفا ممنون