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

آموزش تصویری ساخت ربات تلگرام

ساخت ربات تلگرام موضوعی است که خیلی ها به‌دنبال آن هستند، در این مقاله از فرامهام قصد داریم نحوه ساخت ربات تلگرام را به ساده ترین شکل ممکن و با دو روش متفاوت آموزش دهیم. در انتهای این آموزش می‌توانید از طریق کدنویسی، ربات تلگرام بسازید.
برای ساخت انواع ربات اینترنتی می‌توانید از خدمات فرامهام استفاده کنید و ربات اختصاصی خود را سفارش دهید.

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

  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 کلاینت http
  • body-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

و تقریبا کار تمام است! حالا دست بکار شوید و با ربات ساخته دست خودتان چت کنید تا ببینید چه اتفاقی می افتد!

آموزش رایگان ساخت ربات تلگرام به زبان ساده

روش دوم

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

ساخت ربات تلگرام برای مقاصد مختلفی ممکن است مورد استفاده قرار بگیرد

مثال های از موارد استفاده ساخت ربات تلگرام:

  • ساخت ربات های پشتیبانی
  • اتومات سازی کارها مثل چت زنده که نمونه آن‌را در عکس زیر می‌توانید مشاهده کنید:

how to make telegram bots tutorial

تلگرام با ماهانه 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 رو سرچ کنید

چت با botfather

دستور /start را تایپ کنید

لیستی از دستوراتی میبینید که با استفاده از آنها میتوانید ویرایش و مدیریت ربات های خود را انجام دهید. از آنجایی که این بار اول شماست باید دستور /newbot را وارد کنید.
چت با botfather

در مقایسه با ساختن ربات توییتر، یا ربات Mastodon یا هر ربات دیگری، تلگرام مراحل راه اندازی اولیه ربات را برای ما خیلی راحت کرده. بی شک بهترین ابزار برای ساخت ربات میتواند تلگرام باشد!

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

چت با botfather برای گرفتن api

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

مرحله سوم: راه اندازی bot’s gems و دایرکتوری

ترمینال را باز کنید و دستور mkdir telegram-bot را داخل آن وارد کنید. این دستور یک پوشه جدید برای فایل های ربات شما ایجاد میکند.

بهترین کار قرار دادن تمام فایل ها درون یک پوشه است تا بتوانید راحتتر به مدیریت فایل های ربات تلگرام خود بپردازید. با دستور cd telegram-bot به دایرکتوری مربوطه رفته و دستورات زیر را وارد کنید:

touch Gemfile
touch bot.rb
atom .

توسط دستورات بالا شما دو فایل خالی ایجاد کردید، یکی برای مشخص کردن gems که مورد نیازتان است و یکی برای کدهای ربات که قرار است فعال شود. آخرین دستور هر دوی این فایل ها را در ویرایشگر Atom باز میکند.

تنظیمات پوشه ربات

برای سفارش ساخت ربات تلگرام با ما در ارتباط باشید:

۰۹۹۲۱۶۱۱۳۲۱

1 Comment

  1. امید
    امید
    16 آذر 1398 - 22:04 ب.ظ

    سلام
    ایا رباتی هست که مطالب یک کانال ویا گروه را بصورت اکسل یا … ارایه نمایید

    reply

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