You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alexey Razumov a26072e50b
3 days ago
.gitignore 0.1.0 1 month ago
Avatar.svg 0.1.0 1 month ago
DS-DIGI.TTF Font 1 month ago
README.MD 0.3.0 3 days ago 0.3.0 3 days ago 0.3.1 3 days ago
requirements.txt 0.1.0 1 month ago


YAUB — Yet Another Useless/User Bot

Please, don't use it if you don't know how to solve possible problems. I made it for me and not sure I won't abandon the project. Better use FTG or JoHn-111/Userbot

What Can it do

  • Set dynamic avatar with time and date (you can edit it by yourself)
  • Write message character-by-character with custom timeout and with typing effect
  • Translate messages into any language with google translate
  • Automatically add a dot to the end of message.
  • Press F


1.Clone repo and setup venv:

git clone
python3 -m venv venv
soure venv/bin/activate

2.Install dependencies:

pip install -r requirements

3.Setup API ID and hash (get it here):

  • With environment variables: export API_ID="YOUR_API_ID_HERE” API_HASH="YOUR_API_HASH_HERE”
  • Or with change 12345 at the and of lines 3 and 4 to your api id and hash

4.Run bot:


5.Authorise your account (You should do it only one time), bot will save your session in my_session.session

How can I use each feature

Dynamic avatar

To enable it, set DYNAMIC_AVATAR_ENABLE variable to True.

If you want to use custom path for avatar svg source, set path with AVATAR_SOURCE_PATH variable.

If you want to save your avatar in other location, set path with AVATAR_PATH

Your avatar should me an svg file with 2 {} in places where time and date will be. If your want to swap time and date, use {0} for time and {1} for date

Slow mode and type effect

To enable it, set SLOW_COMMAND_ENABLE to True.

If you want to change interval before characters, set your interval (in seconds) with SLOW_COMMAND_INTERVAL_IN_SECONDS

To enable type effect, set SLOW_COMMAND_CURSOR_ENABLE to True

You can set your custom cursor character with SLOW_MODE_CURSOR

To use it, just type .slow YOUR MESSAGE. Use your prefix instead of dot, if you changed it.

Google translate

If you want to enable translate, set TRANSLATE_COMMAND_ENABLE

To specify default (destination) language for translate, set TRANSLATE_DEFAULT_LANGUAGE_DEST

Your source language will be detected automatically

To translate any message into default language, type .transl YOUR MESSAGE. Use your prefix instead of dot, if you changed it.

To specify destination language, add dest=YOUR_LANGUAGE into your message. You can specify language code or language name. Examples:

  • .transl dest=be Hello world will return Hello World in Belarusian: Прывітанне Сусвет
  • .transl dest=Ukrainian Why are you doing it? will return Why are you doing it? in Ukrainian: Чому ти це робиш?
  • .transl dest=zh-cn Stop it, please! will return Stop it, please! in simplified Chinese: 请你停下!

You also can reply .transl or .transl dest=lang (with your prefix) to message to translate it.

Press F

Just set PRESS_F_COMMAND_ENABLE to True to enable and type .press_f with your prefix instead of dot and it'll change it to


Auto dot

Set AUTO_DOT_ENABLE to True to enable and bot will automatically add dots to the end of your messages.

It will not add dot after these characters: !@#$%^&*()_+-="№;%:?*,./\'.

It will not ad dot after emojis.


Set SOURCE_COMMAND_ENABLE to True and bot will send link to the git repository of this bot when you send .source (with your prefix)

Mention all

Set ENABLE_MENTION_EVERYBODY to True and when I'll send @everybody or @all, bot will mention everybody in chat.


Set ENABLE_VARIABLES to True to enable variables.

You can set custom variables in VARIABLES.

Use as values any string and this words:

  • REPLY_TEXT — Text of message, that's you replied.
  • REPLY_USERNAME — Username of author of message, that's you replied.
  • REPLY_NAME — First name of author of message, that's you replied.
  • REPLY_FULL_NAME — Full name of author of message, that's you replied.


You can use command count (with prefix) to count messages from replied to last. To enable set ENABLE_COMMAND_COUNT to True.

You can set pattern in COUNT_COMMAND_OUTPUT. Use $NEW_MESSAGES_COUNT to paste messages count into your string.