Awesome Open Source
Awesome Open Source

Telegram-InstaPy-Scheduling v2!

Telegram-InstaPy-Scheduling is bot for telegram which helps user to schedule InstaPy.

What's new?

  • Run multiple scripts simultaneously.
  • Configure your scripts in an easy way!
  • Create user lists.

What you need

  • This repo and all requirements.txt installed.
  • InstaPy working on your pc/server.
  • Telegram bot token.

How to setup

  1. Create a bot with @BotFather.
  2. Rename settings.json.dist => settings.json.
  3. Contact @GiveChatId_Bot and get your chat id with /chatid command
  4. Clone this repo into any folder
  5. Install requirements with pip install -r requirements.txt
  6. Populate settings.json with your data. instapy_folder is the path to your InstaPy installation.
    "telegram_token": "xxxx",
    "instapy_folder": "/home/xxxx/GitHub/instapy_bot",
    "allowed_id": [ "chat_id from GiveChatId_Bot", "342342" ],
    "project_path": [ "/path_where_you_want_load_your_files" ], # Optional, default: ./
    "users_file": "new_user_list_file.pickle"                   # Optional, default: users.pickle
  1. Write your personal scripts:


  • Rename in and edit it.
  • Create a function with any name and copy your InstaPy script inside it, for example (Make sure your first param is InstaPy):
def script_for_big_like(InstaPy, username, password, proxy):
    session = InstaPy(username=username, password=password)
    # your stuff here, e.g.
    session.like_by_tags(['natgeo', 'world'], amount=10)
  • Save and exit.
  • Launch You can pass the settings.json from outside this folder, print help: -h for other info.

Avaiable commands

Users management

Command Parameters Description
/add_user <username> <password> <proxy:optional> Save new user.
/delete_user <username> Delete an user.
/users Print all users saved

Jobs management

Command Parameters Description
/set <username> <job_name> <script_name> <hh:mm:ss> Create a new schedule. Select the day from bot.
/unset <job_name> Delete a schedule.
/jobs Print all jobs that have been set
/reload Jobs are saved in db now. Use this cmd to reload.
/scripts Print all your scripts
/status <job_name:optional> Print the status of all your thread or a single thread.
/logs <username> <line_number> Show n lines of username/general.log file.
/now <script_name> <username> Run immediately.
/stop <job_name> Stop immediately.
/time Prints current server time, useful for scheduling.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (50,798
bot (699
telegram (318
instagram (252
social (95
message (54
job (38

Find Open Source By Browsing 7,000 Topics Across 59 Categories