A simple Telegram bot, written in Python, that you can use to shill (i.e. send messages) your token, or whatever, to channels.

Overview

Telegram Shill Bot

Ever wanted a Shill Bot but wankers keep scamming for one OR wanted to charge you an arm and a leg?

This is a simple bot written in Python that you can use to shill (i.e. send messages) your token, or whatever, to Telegram channels.

There are a couple of runtime options available (one easy, one hard), so please read the entire doc. The easy runtime will most likely work (but not tested) on Windows, since it is ran via a Docker container.

Speaking Of Shilling

If you find this bot useful, please consider donating any token of value to our BSC wallet: 0xE75470B9a7c93038195ca116E342c42F6B3F758b. Just as an example, some paid shill bots cost ~$500.00, with few additional features.

Our goal is simple: to earn enough money to build a surf ranch business.

This project is free to everyone (except those wankers), and expect more kick ass projects soon!

You can ask us questions in: https://t.me/surfranch1

WARNING

This can cause your account to be rate limited and even banned if you shill too often. A safe wait_interval is typically around 900 seconds.

ToC

Setup

  • Obtain a Telegram API ID

  • Grab your api_id, api_hash, and app short name

  • Create a copy of settings.example.yml and name it settings.yml

  • Fill out the settings.yml with your app configuration details

    ---
    
    api_id: 123456
    api_hash: abc123xyz456
    app_short_name: MyAwesomeShillBot
    ...
  • Fill out the settings.yml with the message(s) you want to shill

    ...
    messsages:
      one: |
        i can be whatever i want it to be
      two: |
        and so can i
    ...
  • Fill out the settings.yml with the channel(s) you want to shill, and how you want to shill them (i.e. what message you would like to send)

    raid:
      cryptoblank:
        message_type: one
        # ^^ this maps to a message "name" you created earlier
        wait_interval: 1800
        # ^^ this is in seconds
      tsamoon:
        message_type: two
        wait_interval: 900
      ...
  • Verify your YAML by copying all of settings.yml and paste it into http://www.yamllint.com/

    • Fix any reported errors
  • Sign into the Telegram channels you plan to shill, using the account you plan to shill with

    • This should fix any CAPTCHA guards that may be in place

Running

Easy

From Your Terminal

  • Run the Docker bot script
    ./build_n_run.sh

Not As Easy

From Your Terminal

  • Install Python packages
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  • Run the bot
    • python tg_shill_bot.py

Telegram Prompt

You will be prompted to enter your phone (or bot token) and the Telegram code you received - please fill it out. telegram shill bot startup telegram login code

Tested With

  • macOS Catalina v10.15.7
  • $ python --version
    Python 3.7.5
    $ pip --version
    pip 19.2.3 from ... (python 3.7)
  • 3 unique Telegram channels
  • 3 unique messages

Contribute

  • We welcome any contribution to the project (issues and PRs)
  • If you have any code to contribute, please follow the fork, branch, PR process

ToDo

  • Solve join captchas:
    • Rose simple button click: Can use simple telethon
    • Alphabet captchas: Can use some optical character recognition
    • Sum of integers or logical operations: OCR, identify operator and perform the logic
  • Add some random message getter from list of messages vs hard mapping
  • Add some rate limiting aspect. Not sure what the limit ...
    • Maybe if possible have 1 app connect and keep session and channel logged in state. Then the other that does the shilling which interacts with first. The first stays connected at all times to avoid the JoinChannelRequest flood.
  • Account rotation to not get banned or rate limited ...
  • Add unit tests
  • UI maybe if we want to get fancy with this
    • Or use existing tg clients with something like pyautogui
Keywords

bot shill, shillbot, shill bot telegram, telegram shill, telegram shillbot, telegram shill bot

Comments
  • Starting bot

    Starting bot

    First of all, thank you for this bot!

    My question is, how can I change the formatting so that the bot would let me use telegram emojis in my text?

    Thank you in advance and greetings from Austria. :)

    opened by oskargehringer 12
  • Telegram suspension

    Telegram suspension

    Telegram keeps banning my numbers despite the fact that increased the delays signficantly.

    any work around to ensure the bot stays active for a long time without getting suspended

    opened by gfirst20 3
  • Multi message to same group

    Multi message to same group

    Please i would like to send different messages to same group at the different intervals. how do i do that on the same settting.yml file because it seems to delete duplicate group names

    opened by gfirst20 3
  • Correctly terminate Bot and session

    Correctly terminate Bot and session

    Hi All. I'm asking if is there a way to correctly terminate the bot along with the telegram session. I found that stopping the container in Docker seems not to close the telegram session in telegram. Thanks.

    opened by netquik 3
  • Running issues

    Running issues

    I cant run yet. Am on Linux mint. docker and python installed. settings file verified with yaml. +++++++++++

    when i run with docker, i get this message:

    Sending build context to Docker daemon 272.4kB Step 1/7 : FROM python:3.9-alpine ---> 057a5e165715 Step 2/7 : RUN apk --no-cache add build-base ---> Using cache ---> 04afe3b4161c Step 3/7 : WORKDIR /app ---> Using cache ---> 154b9ef2a143 Step 4/7 : COPY requirements.txt /app/ ---> Using cache ---> f0fb3d46fadc Step 5/7 : RUN pip install -r requirements.txt ---> Using cache ---> da5e5c21f682 Step 6/7 : COPY tg_shill_bot.py settings.yml /app/ ---> Using cache ---> 4cb857810b10 Step 7/7 : CMD ["python", "-u", "tg_shill_bot.py"] ---> Using cache ---> 0dd93f317528 Successfully built 0dd93f317528 Successfully tagged shil:latest Traceback (most recent call last): File "/app/tg_shill_bot.py", line 260, in CLIENT = TelegramClient(APP_SHORT_NAME, API_ID, API_HASH) File "/usr/local/lib/python3.9/site-packages/telethon/client/telegrambaseclient.py", line 299, in init self.api_id = int(api_id) ValueError: invalid literal for int() with base 10: '1d491ef9d3521e4be434f0483d6a6d60'



    When i run the python, i get this:

    WARNING:root:could not open file '/etc/apt/sources.list.d/official-package-repositories.list'

    WARNING:root:could not open file '/etc/apt/sources.list.d/additional-repositories.list'

    WARNING:root:could not open file '/etc/apt/sources.list.d/deadsnakes-ppa-focal.list'

    WARNING:root:could not open file '/etc/apt/sources.list.d/docker.list'

    Command 'python' not found, did you mean:

    command 'python3' from deb python3 command 'python' from deb python-is-python3



    if i run it with root access, i get this:

    sudo: python: command not found

    if i use python3 command to run, i get this: Traceback (most recent call last): File "tg_shill_bot.py", line 260, in CLIENT = TelegramClient(APP_SHORT_NAME, API_ID, API_HASH) File "/usr/local/lib/python3.8/dist-packages/telethon/client/telegrambaseclient.py", line 299, in init self.api_id = int(api_id) ValueError: invalid literal for int() with base 10: '1d491ef9d3521e4be434f0483d6a6d60'


    Help please

    opened by gfirst20 2
  • Traceback error with latest version

    Traceback error with latest version

    Hey there, I'm getting the following error that I did not get with the version before. In the previous version, the bot somehow simply does not send to that group and there is no error. I see what the error means but would it be possible to catch it and make the bot send again to that group once the required wait time is over? The error:

    [15:15:38.153] Sending message to BSCApe Traceback (most recent call last): File "/app/tg_shill_bot.py", line 149, in LOOP.run_until_complete(start()) File "/usr/local/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete return future.result() File "/app/tg_shill_bot.py", line 142, in start await do_raid() File "/app/tg_shill_bot.py", line 119, in do_raid await asyncio.gather(*tasks) File "/app/tg_shill_bot.py", line 102, in raid await send_message(channel) File "/app/tg_shill_bot.py", line 86, in send_message await CLIENT.send_message(entity, new_message) File "/usr/local/lib/python3.9/site-packages/telethon/client/messages.py", line 853, in send_message result = await self(request) File "/usr/local/lib/python3.9/site-packages/telethon/client/users.py", line 30, in call return await self._call(self._sender, request, ordered=ordered) File "/usr/local/lib/python3.9/site-packages/telethon/client/users.py", line 79, in _call result = await future telethon.errors.rpcerrorlist.SlowModeWaitError: A wait of 559 seconds is required before sending another message in this chat (caused by SendMessageRequest)

    Thanks in advance.

    opened by oskargehringer 2
  • Request

    Request

    Hey there! One thing that would push the value of this bot further would be the possibility to add pictues into your message. Would that work? Kind regards

    opened by oskargehringer 2
  • Make thank you messages optional and to add unique image to message

    Make thank you messages optional and to add unique image to message

    Add unique image to message

    Make it possible to add a different image to each message or add no image

    messages:
      one:
        image: images/grogugif.gif 
        text: |
          this is message 1
        
      two: 
        text: |
          this is message 2
    

    Make thank you messages optional

    Tag in raid channel:

    "add_thank_you": {"type": "boolean"},
    
    opened by Lebski 1
  • Issues

    Issues

    get a lot of these error messages

    Security error while unpacking a received message: Server replied with a wrong session ID and Unhandled error while processing msgs Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/telethon/network/mtprotosender.py", line 540, in _recv_loop await self._process_message(message) File "/usr/local/lib/python3.9/site-packages/telethon/network/mtprotosender.py", line 555, in _process_message await handler(message) File "/usr/local/lib/python3.9/site-packages/telethon/network/mtprotosender.py", line 601, in _handle_rpc_result if not isinstance(reader.tgread_object(), upload.File): File "/usr/local/lib/python3.9/site-packages/telethon/extensions/binaryreader.py", line 120, in tgread_object constructor_id = self.read_int(signed=False) File "/usr/local/lib/python3.9/site-packages/telethon/extensions/binaryreader.py", line 37, in read_int return int.from_bytes(self.read(4), byteorder='little', signed=signed) File "/usr/local/lib/python3.9/site-packages/telethon/extensions/binaryreader.py", line 60, in read raise BufferError( BufferError: No more data left to read (need 4, got 0: b''); last read None Invalid buffer Invalid response buffer (HTTP code 429)

    can someone help pls?

    opened by Monikajosa 1
  • FloodWaitError invoked while connecting to... Forcing a 70k seconds

    FloodWaitError invoked while connecting to... Forcing a 70k seconds

    Hello!

    I'm trying to use your bot and I would like to join ~200 groups. After one hour of joining, I get this error: FloodWaitError invoked while connecting to... forcing a 70k second...

    Do you have tips to "bypass" this value?

    Thank you :)

    opened by Naografix 1
  • Traceback error

    Traceback error

    i ran with python and go this error message

    Traceback (most recent call last): File "tg_shill_bot.py", line 149, in CLIENT = TelegramClient(APP_SHORT_NAME, API_ID, API_HASH) File "/usr/local/lib/python3.8/dist-packages/telethon/client/telegrambaseclient.py", line 299, in init self.api_id = int(api_id) ValueError: invalid literal for int() with base 10: '1d491ef9d3521e4be434f0483d6a6d60'

    Please help

    opened by gfirst20 1
  • multiple account

    multiple account

    Great tool sir.

    It worked nicely and accurately.

    Would it be possible to add multiple accounts for shilling like it is with the "raid" that enables us to add multiple messages ?

    Ty.

    opened by 3much 2
Owner
null
A telegram bot does not allow channels to send messages to the telegram supergroup

Channel Message Handler Getting started Installation $ git clone https://github.com/AbhijithNT/GroupChannelHandler.git Change directory $ cd ChannelMe

Abhijith N T 0 Dec 26, 2021
A simple bot that lives in your Telegram group, logging messages to a Postgresql database and serving statistical tables and plots to users as Telegram messages.

telegram-stats-bot Telegram-stats-bot is a simple bot that lives in your Telegram group, logging messages to a Postgresql database and serving statist

null 22 Dec 26, 2022
NoChannelBot - Bot bans users, that send messages like channels

No Channel Bot Say "STOP" to users who send messages as channels! Bot prevents u

Andrew 10 Oct 5, 2022
📢 Video Chat Stream Telegram Bot. Can ⏳ Stream Live Videos, Radios, YouTube Videos & Telegram Video Files On Your Video Chat Of Channels & Groups !

Telegram Video Chat Bot (Beta) ?? Video Chat Stream Telegram Bot ?? Can Stream Live Videos, Radios, YouTube Videos & Telegram Video Files On Your Vide

brut✘⁶⁹ // ユスフ 15 Dec 24, 2022
Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live strams, YouTube videos and telegram media.

Telegram VCVideoPlayBot An Telegram Bot By @ZauteKm To Stream Videos in Telegram Voice Chat. NOTE: Make sure you have started a VoiceChat in your Grou

Zaute 20 Oct 21, 2022
Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live strams, YouTube videos and telegram media.

Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live strams, YouTube videos and telegram media.

SUBIN 449 Dec 27, 2022
Discord-Token-Formatter - A simple script to convert discord tokens from email token to token only format

Discord-Token-Formatter A simple script to convert discord tokens from email:pas

null 2 Oct 23, 2022
Telegram PHub Bot using ARQ Api and Pyrogram. This Bot can Download and Send PHub HQ videos in Telegram using ARQ API.

Tg_PHub_Bot Telegram PHub Bot using ARQ Api and Pyrogram. This Bot can Download and Send PHub HQ videos in Telegram using ARQ API. OS Support All linu

TheProgrammerCat 13 Oct 21, 2022
This is a scalable system that reads messages from public Telegram channels using Telethon and stores the data in a PostgreSQL database.

This is a scalable system that reads messages from public Telegram channels using Telethon and stores the data in a PostgreSQL database. Its original intention is to monitor cryptocurrency related channels, but it can be configured to read any Telegram data that is accessible through the API.

Greg 3 Jun 7, 2022
null 1 Feb 18, 2022
A simple Telegram bot that can broadcast messages and media to the bot subscribers. with mongo DB support

?????????????????? ?????? A simple Telegram bot that can broadcast messages and media to the bot subscribers using MongoDB. Features Support mongodb.c

N A C BOTS 70 Jan 2, 2023
A self-bot for discord, written in Python, which will send you notifications to your desktop if it detects an intruder on your discord server

A self-bot for discord, written in Python, which will send you notifications to your desktop if it detects an intruder on your discord server

LevPrav 1 Jan 11, 2022
Secret messaging app which you can use to communicate with your friends by encrypting / decrypting secret messages or sending secret message through mail.

Secret-Whisper A Secret messaging app which you can use to communicate with your friends by encrypting / decrypting secret messages ?? or sending secr

null 3 Jan 1, 2022
A simple python script to send files into your telegram Bot form your PC, Server etc.

telegramSend A simple python script to send files into your telegram Bot form your PC, Server etc. How to Use Install requirements.txt pip3 install -r

Ajay Kumar Tekam 1 Jul 19, 2022
A simple Python script using Telethon to log all (or some) messages a user or bot account can see on Telegram.

telegram-logger A simple Python script using Telethon to log all (or some) messages a user or bot account can see on Telegram. Requirements Python 3.6

Richard 13 Oct 6, 2022
Make WhatsApp ChatBot and use WhatsApp API to send the WhatsApp messages in python .

Ultramsg.com WhatsApp Bot using WhatsApp API and ultramsg Demo WhatsApp API ChatBot using Ultramsg API with python. Opportunities and tasks: The outpu

Ultramsg 64 Dec 29, 2022
Telegram bot to stream videos in telegram voicechat for both groups and channels

Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live streams, YouTube videos and telegram media. With record stream support, Schedule streams, and many more.

ALBY 9 Feb 20, 2022
Telegram bot to stream videos in telegram voicechat for both groups and channels.

Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live streams, YouTube videos and telegram media. With record stream support, Schedule streams, and many more.

SOCIAL MECHANIC 4 Nov 13, 2022