Skip to main content

Installing

pip3 install -U tele-mod

Telemod

Message listener example

import asyncio

from telebot import async_telebot, types

from telemod import Listener



bot = async_telebot.AsyncTeleBot(token="")

loop = asyncio.get_event_loop()



listener = Listener(bot=bot, loop=loop)



@bot.message_handler(commands=["start"])

async def _(message: types.Message):

    msg = await listener.listen_to(m=message, text="What's Your name?")

    await bot.reply_to(msg, f"Your name is {msg.text}")

    # to delete question message

    # await bot.delete_message(chat_id=message.chat.id, message_id=msg.output.id)



async def main():

    print((await bot.get_me()).first_name)

    await bot.infinity_polling(skip_pending=True)



loop.run_until_complete(main())

CallbackQuery Listener Example

@bot.callback_query_handler(func = lambda query: True)

async def _(query: types.CallbackQuery):

    if query.data == "name":

        msg = await listener.listen_to(

            query,

            "What's your name?",

            filters=["text"]

        )

        return await bot.reply_to(msg, f"Your name is {msg.text}")

Simple usage example

msg = await listener.listen(

    chat_id=chat_id,

    text="What's your name",

    from_id=from_id,

    filters=["text", "photo"]

)

print(msg)

Time out example

@bot.message_handler(commands=["start"])

async def start_handler(message: types.Message):

    try:

        msg = await listener.listen_to(message, "What's your name?", timeout=10)

    except TimeOut:

        msg = None

        await bot.reply_to(message, "Time Out")

    if msg:

        return await bot.reply_to(msg, f"Hi {msg.text}")

Filters type example

@bot.message_handler(commands=["ask"], chat_types=["supergroup"])

async def _(message: types.Message):

    msg = await listener.listen(

        chat_id=message.chat.id,

        text="What's your name",

        filters=["sender_chat", "text"],

        filters_type=2

    ) # will only listen to an message has "sender_chat" and "text" attribute

    msg = await listener.listen(

        chat_id=message.chat.id,

        text="What's your name",

        filters=["sender_chat", "text"],

        filters_type=1

    ) # will listen to any messgae has "sender_chat" or "text" attribute

    return await bot.reply_to(msg, msg.text)

Community

Examples

Metadata

Release files for tele-mod 2.5

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

Source distribution (sdist)

Source distribution for tele-mod 2.5
File Size Uploaded
tele-mod-2.5.tar.gz 4.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tele-mod 2.5
File Interpreter ABI Platform
tele_mod-2.5-py3-none-any.whl Python 3 none any Details

Total release size: 9.9 kB

Release files / tele-mod-2.5.tar.gz

Download URL tele-mod-2.5.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
69c6a9b0dd9392c4d2524fd324bc8872db775085ebff0231c390f476f66def35
BLAKE2b-256 checksum
How to use checksums
63176ad814959a0c1949c58ce18c31a61a271c2bd524ffe942ed62415ae35550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / tele_mod-2.5-py3-none-any.whl

Download URL tele_mod-2.5-py3-none-any.whl
Size 4.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c53eea4010d22ea7f073091fadbaa611b8177e7b16fce50b8f0d4229a10e4b23
BLAKE2b-256 checksum
How to use checksums
35f7aaab98a6b3e7f7591eec606b34abe0e3ad3a4ec8e9c6b78961ac106ffa9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

2.5 This release

2 release files

2.0

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

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