Telegram Bot For Screenshot Generation.
An attempt to implement the screenshot generation of telegram files without downloading the entire file. Live version can be found here @ScreenShot Bot.
Screenshot Generation with Custom Watermark---Sample Video Generation---Trim video.
$ git clone https://github.com/odysseusmax/animated-lamp.git $ cd animated-lamp
$ pip3 install virtualenv $ virtualenv venv $ source venv/bin/activate
$ pip3 install -U -r requirements.txt
Properly setup the environment variables or populate
config.py with the values (some of the values are sensitive data, so keep them safe).
API_ID(required) - Get your telegram API_ID from https://my.telegram.org/.
API_HASH(required) - Get your telegram API_HASH from https://my.telegram.org/.
BOT_TOKEN(required) - Obtain your bot token from Bot Father.
SESSION_NAME(required) - Name you want to call your bot's session, Eg: bot username.
LOG_CHANNEL(required) - Log channel's id.
DATABASE_URL(required) - Mongodb database URI.
AUTH_USERS(required) - Authorised user(s) id separated by space.
HOST(required) - Public URL of streaming service (Source).
MAX_PROCESSES_PER_USER(optional) - Number of parallel processes each user can have, defaults to 2.
MAX_TRIM_DURATION(optional) - Maximum allowed seconds for trimming. Defaults to 600.
TRACK_CHANNEL(optional) - User activity tracking channel's id. Only needed if you want to track and block any user. Disabled by default.
SLOW_SPEED_DELAY(optional) - Delay required between each request. Defaults to 15s.
$ python3 -m bot
Now go to your bot and do a
/start - Command to start bot or check whether bot is alive.
/settings - Command to configure bot's behavior'
/set_watermark - Command to add custom watermark text to screenshots. Usage:
/status - Admin/Auth users only command. Returns number of total users.
/ban_user - Admin/Auth users only command. Command to ban any user. Usage:
/ban_user user_id ban_duration ban_reason.
user_id - telegram id of the user,
ban_duration - ban duration in days,
ban_reason - reason for ban. All 3 parameters are required.
/unban_user - Admin/Auth users only command. Command to ban any banned user. Usage:
user_id - telegram id of the user. The parameter is required.
/banned_users - Admin/Auth users only command. Command to view all banned users. Usage:
/banned_users. This takes no parameters.
/broadcast - Admin/Auth user only command. Command to broadcast some message to all users. Usage: reply
/broadcast to the message you want to broadcast.
Screenshot Generation- Generates screenshots from telegram video files or streaming links. Number of screenshots range from 2-10.
Manual Screenshot- Generates screenshots of specific time. Number of screenshots range from 1-10.
Sample Video Generation- Generates sample video from telegram video files or streaming links. Video duration range from 30s to 150s. Configurable in
Video Trimming- Trims any telegram video files or streaming links. Video duration depends on the environment. By default upto 10 mins (600s).
In bot settings.
Upload Mode- Screenshot upload mode. Either
as image fileor
as document file. Defaults to
as image file.
Watermark- Watermark text to be embedded to screenshots. Texts upto 30 characters supported. Disabled by default.
Watermark Color- Font color to be used for watermark. Any of
pink. Defaults to
Watermark Font Size- Font size to be used for watermarks. Any of
large(50). Defaults to
Sample Video Duration- Sample video's duration. Any of
150s. Defaults to
Screenshot Genetation Mode- Either
equally spaced. Defaults to
Contributions are welcome.
You can contact me @InFoTelGroup.
Code released under The GNU General Public License.