telegram API Server를 자신의 서버에 설치해 보자. 공식서버와의 차이점은 아래와 같다.
공식서버는 bot을 통해 전송할 수 있는 데이터의 크기가 한정되어 있다. 자체 Server를 설치할 경우, 아래와 같은 장점이 있다.
Download files without a size limit.
Upload files up to 2000 MB.
Upload files using their local path and the file URI scheme.
Use an HTTP URL for the webhook.
Use any local IP address for the webhook.
Use any port for the webhook.
Set max_webhook_connections up to 100000.
Receive the absolute local path as a value of the file_path field without the need to download the file after a getFile request.
여기에서는 OCI(Oracle Cloud Infrastructure)를 기준으로 진행한다.
echo "zlib1g-dev gcc cmake openssl git gperf" > requirements.txt
cat requirements.txt | xargs apt install -y
3.적당한곳(Telegram API Server를 설치할)에Telegram Server git repository를 복사한다.
git clone --recursive https://github.com/tdlib/telegram-bot-api.git
cd telegram-bot-api
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --target install
telegram-bot-api --api-id={YOUR_ID} --api-hash={YOUR_HASH} --local
ps aux | grep telegram
아래와 같이 나오면 성공이다.
oot 3008 1.2 0.0 549840 10760 pts/0 Sl 12:43 0:00 telegram-bot-api --api-id=22656827 --api-hash=0e62b2dd753c25cda5f3c139e878492b --local
nano telegram_server.sh
#! /bin/bash
nohup /usr/local/bin/telegram-bot-api 1> /dev/null 2>&1 &
chmod +x telegram_server.sh
crontab -e
@reboot /home/ubuntu/sh/telegram_server.sh
systemctl restart cron