Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Install :

pip install shitgram==0.1.dev6

How to use?

  • Config your bot :

from shitgram import Bot, types

API_TOKEN = "API_TOKEN_HERE"

bot = Bot(API_TOKEN)
  • Add handlers to recive updates from telegram:

  • Any update from telegram:
@bot.onUpdate
async def on_updates(bot: Bot, update: types.Update):
    print(update)
  • message and edited_message:
@bot.onMessage()
async def on_message(bot: Bot, message: types.Message):
    print(message)

@bot.onEditedMessage()
async def on_edited_message(bot: Bot, message: types.Message):
    print(message)

# Custom filter
def filter_admin(message: types.Message):
    admins = [123456789, 987654321]
    return bool(message.from_user.id in admins)

@bot.onMessage(func=filter_admin)
@bot.onEditedMessage(func=filter_admin)
async def on_custom_filter(bot: Bot, message: types.Message):
    print(message)

# Echo Bot
@bot.onMessage(func=lambda m: m.text)
async def echo(bot: Bot, message: types.Message):
    return await bot.sendMessage(
        message.chat.id,
        message.text,
        entities=message.entities
    )
  • Callback Queries ( No CallbackQuery Methods currently )
@bot.onCallbackQuery()
async def on_callback_query(bot: Bot, callback_query: types.CallbackQuery):
    return await bot.sendMessage(
        callback_query.message.chat.id,
        callback_query.data
    )
  • Inline Queries ( No InlineQuery Methods currently )
@bot.onInlineQuery()
async def on_inline_query(bot: Bot, inline_query: types.InlineQuery):
    print(inline_query)
  • Start the bot:

import asyncio
import logging

logging.basicConfig(level=logging.INFO)

asyncio.run(bot.start_polling())

# add allowed updates:
asyncio.run(bot.start_polling(allowed_updates=["message"]))
  • Start multiple bots:

import asyncio
import logging

from shitgram import run_multiple_bots, Bot, types, enums

logging.basicConfig(level=logging.INFO)

bot_1 = Bot("API_TOKEN_1")
bot_2 = Bot("API_TOKEN_2")

@bot_1.onMessage()
@bot_2.onMessage()
async  def on_message(bot: Bot, message: types.Message):
    return await bot.sendMessage(
        message.chat.id,
        (await bot.getMe()).mention.markdown,
        parse_mode=enums.ParseMode.MARKDOWN
    )

asyncio.run(run_multiple_bots([bot_1, bot_2]))

LICENSE :

Metadata

Release files for shitgram 0.1.dev6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shitgram 0.1.dev6
File Size Uploaded
shitgram-0.1.dev6.tar.gz 24.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for shitgram 0.1.dev6
File Interpreter ABI Platform
shitgram-0.1.dev6-py3-none-any.whl Python 3 none any Details

Total release size: 72.2 kB

Release files / shitgram-0.1.dev6.tar.gz

Download URL shitgram-0.1.dev6.tar.gz
Size 24.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a96680d60aba545f438df99c1b97a80335231e75ab422fde5ec2d2ba2aa4a480
BLAKE2b-256 checksum
How to use checksums
42297ec88291c14271220985c945d9d6c0077c52c5e5d7d4b3c6196f4ea405d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / shitgram-0.1.dev6-py3-none-any.whl

Download URL shitgram-0.1.dev6-py3-none-any.whl
Size 47.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a3533ee00a5905c30e5fa94c62e530b1fcf738ffcfb94ecea878f2930c399e3d
BLAKE2b-256 checksum
How to use checksums
7c2d2a26e5848207ffb824ae357310ff65caf77697aec8126141c0172904cbf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page