راه های تماس :
1 ابتدا با شناسه کاربری خود وارد سایت شوید
2 روی کلید سبز رنگ بالای سایت کلیک کنید
3منوی ارسال پست جدیدرا کلیک کنید .
  • ساعات مجاز برای تماس : 10 تا 16
  • روزهای کاری : شنبه تا 4شنبه
  • ایمیل : data(@)rastchin.com
 
اگر مشکل شما همچنان برقرار است یا سوالات دیگری دارید می توانید با تلگرام ما در ارتباط باشید
 

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

5
1 1 1 1 1
رتبه 5.00 (5 رای)
اگر در زمینه ساخت بات تلگرام تجربه داشته باشید ممکن است با برخی محدودیت هایی که سرور تلگرام در نظر گرفته مانند امکان ارسال فایل تا 50 مگابایت، تصویر تا ده مگابایت (در زمان نوشتن این مقاله) یا تعداد کانکشن و اجباری بودن ssl مواجه شده باشید. همانطور که در لینک گیت هابِ api تلگرام نیز اشاره شده است:
https://github.com/tdlib/telegram-bot-api
با راه اندازی یک سرور محلی می توانید این محدودیت ها را کنار بزنید یا کمتر کنید. بطور مثال:
  • ارسال فایل تا 2گیگ بایت
  • دانلود بدون محدودیت
  • امکان اتصال بات بدون ssl
  • افزایش تعداد کانکشن تا 100000
  • تغییر پورت اتصال

در این مقاله بصورت مختصر روش نصب در سیستم عامل لینوکس (centos) توضیح داده میشود اما برای دیگر سیستم عامل ها نیز روش تقریبا مشابه است.پیش نیازهای نصب سرور محلی تلگرام به شرح زیر است:
  • OpenSSL
  • Zlib
  • کامپایلر سی ++
  • Gperf
  • Cmake

سه مورد اول معمولا بصورت پیشفرض روی اکثر سیستم عامل های لینوکسی نصب هستند. و برای نصب دو مورد اخر نیز (در صورت نیاز) بسادگی می توانید مطابق انتهای مقاله عمل کنید. مسلما پیشفرض ما این هست که شما یک سرور مجازی یا اختصاصی در خارج کشور تهیه کرده اید و حال میتوانید مراحل را انجام دهید.

1 نصب سرور محلی تلگرام روی centos : دستورات زیر را می توانید بصورت خط به خط اجرا کنید


sudo yum update -y
sudo yum install -y centos-release-scl-rh epel-release
sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
sudo yum install -y gcc-c++ make git zlib-devel openssl-devel gperf cmake3
git clone --recursive https://github.com/tdlib/telegram-bot-api.git
cd telegram-bot-api
rm -rf build
mkdir build
cd build
CC=/opt/rh/devtoolset-9/root/usr/bin/gcc CXX=/opt/rh/devtoolset-9/root/usr/bin/g++ cmake3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=.. ..
cmake3 --build . --target install


بهتر است حدود یک گیگابایت فضای خالی برای نصب داشته باشید و زمانی نزدیک به یکساعت برای کامپایل شدن در نظر بگیرید. اگر در حین نصب به خطای کامپایل یا عدم وجود cmake برخوردید پاراگراف انتهای مقاله را بررسی کنید. راهنمای دستورات نصب برای دیگر سرور ها نیز در لینک زیر قرار دارد:
https://tdlib.github.io/telegram-bot-api/build.html


2 در صورتی که کامپایل موفق بود می توانید با دستور زیر وب سرور را اجرا کنید:

bin/telegram-bot-api --api-id $TELEGRAM_API_ID --api-hash $TELEGRAM_API_HASH --local &


توجه کنید بجای دو متغییر $TELEGRAM_API_ID و $TELEGRAM_API_HASH باید از طریق سایت تلگرام توکن و هش دریافت و مقادیر را جایگزین کنید. این مقادیر با توکنی که برای خود ربات میسازید متفاوت است. به احتمال زیاد برای این بخش نیاز به یک شماره معتبر خارجی داشته باشید. به شخصه با شماره ایران موفق به انجام این مرحله نشدم :
https://core.telegram.org/api/obtaining_api_id

3 اگر مراحل را بدرستی انجام داده باشید بایستی از طریق لینک http://x.x.x.x:8081 بتوانید متنی در فرمت json مشاهده کنید
{"ok":false,"error_code":404,"description":"Not Found"}
که x.x.x.x با ای پی سرور شما بایستی جایگزین شود. همچنین می توانید در مرحله 2 در صورت نیاز با سوئیچ p پورت دیگری را برای سرویس دهی معرفی کنید. توجه داشته باشید این پورت باید حتما در فایروال سرور شما (مثلا CSF) و همچنین سرور بات باز شده باشد. همچنین در صورت فعال بودن HSTS و عدم امکان باز کردن لینک ها بصورت http بهتر است این ویژگی را غیر فعال کنید

4 اگر به این مرحله رسیده باشید کار تمام شده. فقط لازم است تا در تنظیمات بات خود هرجا که api را فراخوانی کرده اید، بجای ادرس api سرور اصلی تلگرام، آی پی سرور خود را بهمراه پورت بشکل دقیقا مرحله 3 که در مرورگر وارد شده بود و در تصویر پیوست هم مشخص هست وارد کنید. دقت کنید اگر ربات شما قبلا به سرور تلگرام متصل بوده بایستی حتما با دستور زیر حتما آن را logout کنید و سپس از طریق سرور خود، وب هوک را مشخص کنید :

الف) دستور قطع ارتباط ربات با سرور تلگرام
https://api.telegram.org/bot{token}/logout

ب) دستور تنظیم وب هوک در سرور محلی جدید :
http://x.x.x.x:8081/bot{token}/setWebhook?url={bot_url}


 نصب cmake در صورتی ک نسخه قدیمی تر نصب شده است:

wget https://cmake.org/files/v3.12/cmake-3.12.3.tar.gz
tar zxvf cmake-3.*
cd cmake-3.*
./bootstrap --prefix=/usr/local
make -j$(nproc)
make install
cmake –version


https://gist.github.com/1duo/38af1abd68a2c7fe5087532ab968574e

orange نصب Gperf نیز بسادگی با دستور زیر قابل انجام است
Yum install gperf

orange باتوجه به اینکه ارتباط ربات با سرور محلی طبق توضیحات بالا (برای درک بهتر و سادگی) بصورت http و غیرامن توضیح داده شد توصیه میشود در نهایت، به کمک reverse proxy ارتباط را از طریق یک دامنه و https انجام دهید. می توانید بطور مثال اگر از اپاچی استفاده می کنید ماژول mod_proxy را نصب و تنظیم کنید یا در روشی ساده تر به کمک دستورات htaccess درخواست های ارسالی به یک دامنه را به ای پی و پورت نهایی منتقل کنید. بدین ترتیب میتوانید در کدنویسی ربات خود بجای ای پی و پورت بسادگی از دامنه استفاده کنید :

RewriteEngine on
RewriteRule ^(.*) "http\:\/\/x\.x\.x\.x\:8081\/$1" [P,L]


orange 
اگر تصمیم دارید از طریق سرور محلی، از تلگرام فایل دریافت کنید، بهتر است اولا دستور اجرای سرور را بجای root از طریق نام کاربری اکانت دامنه انتخاب شده در reverse proxy اجرا کنید، ثانیا سوئیچ -d را بهمراه پوشه مورد نظر خود برای دریافت فایل ها اجرا کنید، مثال زیر توجه کنید :

#runuser [user]
#bin/telegram-bot-api --api-id $TELEGRAM_API_ID --api-hash $TELEGRAM_API_HASH --local -d /home/[user]/public_html/files/ &

با اجرای خط اول، از کاربر root به کاربر اکانت هاست منتقل می شوید و در خط دوم فولدری بنام files محل قرارگیری فایل ها از سرور اصلی تلگرام به سرور محلی شما خواهد بود.

 امید است این مقاله بتواند تا حدی از ابهام شما در راه اندازی سرور محلی تلگرام برای استفاده ربات را برطرف کرده باشد


 

بالا