robogram

Minimal Telegram Bot API wrapper to send messages - to user, channel, or group.


Keywords
telegram, bot, api, robogram, robot, api-wrapper, bot-api, requests, telegram-bot, telegram-bot-api, telegram-bot-api-json, wrapper, wrapper-api
License
MIT
Install
pip install robogram==0.1.0

Documentation

Robogram 🤖📨️ - Telegram Bot API

Documentation Status Updates

robogram is an (unofficial) Minimal Telegram Bot API Wrapper to send messages on Telegram - to user, channel, or group.

The only dependency is requests -- with over 50K stars on GitHub.

Install

robogram is available on PyPI, and can be installed with pip:

$ pip install robogram

You'll also need to obtain an Bot Token as outlined in the docs.

Usage

Use a TeleBot to send a message to a personal chat, channel, or group on Telegram:

from robogram import TeleBot

# Authentication token, that you get by:
#   (1) opening a chat with `@BotFather`
#   (2) using command `/newbot` to create a new bot
BOT_TOKEN = 'TOKEN'

# Chat ID, that you get by:
#   (1) Add the new bot to personal chat, channel, or group
#   (2) Send a message to bot
CHAT_ID = -123456789

bot = TeleBot(BOT_TOKEN)

r = bot.send_message(CHAT_ID, 'Hello World!')
print(r)

Looking for an easier way to get the Chat ID for a personal chat, channel, or group?

Follow steps above, and add the Bot to chat. Then use TeleBot.get_chat_ids_from_updates, a convenience wrapper around /getUpdates:

import json

# Get a mapping of Chat ID to Chat Type/Title,
# based on `/getUpdates` response.
#
# Example Response:
# {
#   12345: '[PRIVATE] User321',
#   -97531: '[CHANNEL] My Channel',
# }
chat_id_to_title = bot.get_chat_ids_from_updates()
print(json.dumps(chat_id_to_title, indent=2))

To get info on the TeleBot associated with the token:

me = bot.get_me()
print(json.dumps(me, indent=2))

Credits

This package was created with Cookiecutter and the rnag/cookiecutter-pypackage project template.