Skip to main content

Simple and lightweight library based on aiogram for creating telegram mailings

Project description

PyPI version Python Aiogram CI

Aiogram Broadcaster

A simple and straightforward broadcasting implementation for aiogram

Installaiton

$ pip install aiogram-broadcaster

Examples

Few steps before getting started...

  • First, you should obtain token for your bot from BotFather and make sure you started a conversation with the bot.
  • Obtain your user id from JSON Dump Bot in order to test out broadcaster.

Note: These and even more examples can found in examples/ directory

Base usage

from aiogram_broadcaster import TextBroadcaster

import asyncio


async def main():

    # Initialize a text broadcaster (you can directly pass a token)
    broadcaster = TextBroadcaster('USERS IDS HERE', 'hello!', bot_token='BOT TOKEN HERE')
    
    # Run the broadcaster and close it afterwards
    try:
        await broadcaster.run()
    finally:
        await broadcaster.close_bot()


if __name__ == '__main__':
    asyncio.run(main())

Embed a broadcaster in a message handler

from aiogram import Bot, Dispatcher, types

from aiogram_broadcaster import MessageBroadcaster

import asyncio


async def message_handler(msg: types.Message):
    """
    The broadcaster will flood to a user whenever it receives a message
    """
    
    users = [msg.from_user.id] * 5  # Your users list
    await MessageBroadcaster(users, msg).run()  # Run the broadcaster


async def main():

    # Initialize a bot and a dispatcher
    bot = Bot(token='BOT TOKEN HERE')
    dp = Dispatcher(bot=bot)

    # Register a message handler
    dp.register_message_handler(message_handler, content_types=types.ContentTypes.ANY)
    
    # Run the bot and close it afterwards
    try:
        await dp.start_polling()
    finally:
        await bot.session.close()


if __name__ == '__main__':
    asyncio.run(main())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiogram_broadcaster-0.0.7.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

aiogram_broadcaster-0.0.7-py3-none-any.whl (7.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page