Telegram API Server Installation

RigidBody·2023년 8월 12일
0

Ubuntu

목록 보기
2/2

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)를 기준으로 진행한다.

  1. 의존성 패키지를 설치해 준다.
    아래와 같이 설치할 패키지 목록을 나열한 파일을 생성한다.
echo "zlib1g-dev gcc cmake openssl git gperf" > requirements.txt
  1. 의존성 패키지 설치를 진행한다.
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
  1. 해당 폴더로 이동하고 내부에 빌드를 위한 폴더를 생성한다.
cd telegram-bot-api
mkdir build
cd build
  1. 빌드를 시작한다.(아래명령 순차 실행)
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --target install
  1. 설치가 완료 되면 아래 명령을 통해 서버를 구동한다. *api_id 및 api_hash는 https://my.telegram.org를 통해 사전에 신청하여 받는다. 이때 도메인(사이트주소)은 실제 작동되는 것으로 입력해야 error없이 승인된다.
telegram-bot-api --api-id={YOUR_ID} --api-hash={YOUR_HASH} --local
  1. 정상 작동하는지 아래 명령으로 확인한다.
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
  1. 아래와 같이 해당 telegram Server가 부팅시 로딩되도록 스크립트를 작성한다.
nano telegram_server.sh
#! /bin/bash
nohup /usr/local/bin/telegram-bot-api 1> /dev/null 2>&1 &
chmod +x telegram_server.sh
  1. cron에 등록하여 재부팅시에 자동 로딩되도록 한다.
crontab -e
@reboot /home/ubuntu/sh/telegram_server.sh
systemctl restart cron
profile
Speed Enthusiast

0개의 댓글