Skip to main content

Telegram bot for expanding external media links

Project description

warp_beacon Upload Python Package Docker Image CI Build DEB package

Telegram bot for external social networks media links expanding. Works with a links in personal messages and also with group chats.

Just send a media link to the chat with bot and get a video or audio reply.

Yotube Video usage example Yotube Video usage example Youtube Music usage example Youtube Music usage example image Instagram Reels usage example
Instagram Photo post usage example Instagram Photo post usage example Instagram Photo Carousel usage Instagram Photo Carousel usage example Instagram Photo bulk Strories download usage example Instagram Photo bulk Strories download usage example
Instagram specific Story download usage example Instagram specific Story download usage example Group chat usage example Group chat usage example

In order to setup your own instance, you will need:

  1. Obtain your own brand new TG_TOKEN. To do that, write to @BotFather.
  2. Obtain TG_API_ID, TG_API_HASH, TG_BOT_NAME. Learn more here.

All bot configuration stored in warp_beacon.conf file.

Configuration example

TG_TOKEN="you telegram token received from @BotFather"
# these 3 settings should be obtained at https://my.telegram.org/apps
# learn more: https://core.telegram.org/api/obtaining_api_id
###
TG_API_ID=""
TG_API_HASH=""
TG_BOT_NAME=""
# bot admin username, e.g.: @BelisariusCawl
# Used for communication between the bot and the administrator.
# For example, if authorization is required for YouTube, bot can send an authorization code via message to this address.
TG_BOT_ADMIN_USERNAME=""
###
INSTAGRAM_LOGIN="instagram login (email or cell phone)"
INSTAGRAM_PASSWORD="instgram password"
INSTAGRAM_VERIFICATION_CODE="instagram 2FA if required, default empty"
MONGODB_HOST="mongodb"
MONGODB_PORT="27017"
MONGODB_USER="root"
MONGODB_PASSWORD="changeme"
VIDEO_STORAGE_DIR="/var/warp_beacon/videos"
# workers settings
# default: min(32, os.cpu_count() + 4)
#TG_WORKERS_POOL_SIZE=3
#UPLOAD_POOL_SIZE=3
#WORKERS_POOL_SIZE=3
ENABLE_DONATES=true
DONATE_LINK="your donate link which will be shown if ENABLE_DONATES where set"

Deployed example bot

Try it 🚀

How to run

Any Linux machine will suit in.

Install docker and git

sudo apt update
# uninstall old docker packages
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt install ca-certificates curl git
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin git

Download sources

git clone https://github.com/sb0y/warp_beacon.git

Go to sources directory

cd warp_beacon

Run app

sudo docker compose up -d

Check logs

sudo docker compose logs warp_beacon -f

Upgrading

If you are using image-prod (set in docker-compose.yml by default), just rebuild your image:

cd your_warp_beacon_sources_directory/
sudo docker compose build --no-cache

Recreate existing container:

sudo docker compose up -d

How to install from PIP

sudo apt update
sudo apt install python3-pip
sudo pip install warp-beacon

Your configuration file will be located at /usr/local/lib/python3.10/dist-packages/etc/warp_beacon/warp_beacon.conf. For convenience, we will copy it to a common directory:

mkdir /etc/warp_beacon
cp /usr/local/lib/python3.10/dist-packages/etc/warp_beacon/warp_beacon.conf /etc/warp_beacon/warp_beacon.conf

Run the app

source /etc/warp_beacon/warp_beacon.conf && /usr/local/bin/warp_beacon

Most likely you will need a systemd service so that you don't have to start the service manually and don't have to worry about service start on server reboot.

cp /usr/local/lib/python3.10/dist-packages/lib/systemd/system/warp_beacon.service /lib/systemd/system
systemctl unmask warp_beacon.service
systemctl enable warp_beacon.service
# start the service app
systemctl start warp_beacon.service

How to build Python whl package

sudo apt install python3-pip python3-build python3-virtualenv dh-virtualenv
# If you are getting build errors you probably need the latest version of python3-build
sudo python3 -m pip install --upgrade build
python3 -m build

How to build Ubuntu deb package

sudo apt update
sudo apt install debhelper python3-pip python3-build python3-virtualenv dh-virtualenv dh-python
# If you are getting build errors you probably need the latest version of python3-build
sudo python3 -m pip install --upgrade build

build deb file

dpkg-buildpackage -us -uc -b

Support Warp Beacon project

CryptoCloud Accepted

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

warp_beacon-2.2.31.tar.gz (52.4 kB view details)

Uploaded Source

Built Distribution

warp_beacon-2.2.31-py3-none-any.whl (59.2 kB view details)

Uploaded Python 3

File details

Details for the file warp_beacon-2.2.31.tar.gz.

File metadata

  • Download URL: warp_beacon-2.2.31.tar.gz
  • Upload date:
  • Size: 52.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for warp_beacon-2.2.31.tar.gz
Algorithm Hash digest
SHA256 29414e56743d0831480bf73dc74006f9778f935a3c24e0f3eecda6572fd1b5b2
MD5 3c17a5929b3fc7c85235557b2eb7bd79
BLAKE2b-256 8130f368d737c5eab0ed6f915670c32cd938adfd0edb43311d76a5e1a7c7a6d3

See more details on using hashes here.

Provenance

File details

Details for the file warp_beacon-2.2.31-py3-none-any.whl.

File metadata

  • Download URL: warp_beacon-2.2.31-py3-none-any.whl
  • Upload date:
  • Size: 59.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for warp_beacon-2.2.31-py3-none-any.whl
Algorithm Hash digest
SHA256 f98b2a477b36d5aa1fb3402c7f3558c6b329980da4fb6d52cc1322c796ac7f9f
MD5 0996bf9050850d2d61b9463fba982b01
BLAKE2b-256 01a10f519afcb0af40e15f487cb0de5c4359a5ed7b668a39ddbd069653b5de12

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page