如何使用电视马拉松通过链接向机器人发送消息,然后启动?



我想与一个机器人交互,该机器人获取聊天ID和消息ID并根据该聊天ID的消息进行回复。

通常,我在群聊中使用KeyboardButtonUrl具有指向带有数据的机器人的链接(例如,这里是键盘按钮URL后面的URL,https://t.me/SomeBot?start=-1001234567890_654321(与机器人进行交互。我单击直接打开与机器人聊天的按钮,然后单击"开始"按钮,将命令发送给机器人(我认为机器人从具有聊天ID和消息ID的传递数据中获取消息(。

使用send_message函数发送消息"-1001234567890_654321"无法按预期工作。 我如何使用电视马拉松实现这一目标?

此外,在电视马拉松文档中搜索后,我找不到任何在获取消息 ID 和聊天 ID 后返回特定消息的函数。get_messages&iter_messages返回指定编号。仅最后的消息。

您可以使用@oleskii的方法,但您也可以发送如下消息:

client.send_message('bot username', '/start params_string')

看起来您想使用参数启动机器人。

请参考以下内容: https://tl.telethon.dev/methods/messages/start_bot.html

您可以根据需要调整此示例:

from telethon.tl.functions.messages import StartBotRequest
request = StartBotRequest("bot_username_bot", "bot_username_bot", "params_string")
result = await client(request)

该请求的工作方式与以下链接的工作方式相同:

https://t.me/bot_username_bot?start=params_string

希望对您有所帮助!祝你好运!

我找不到任何在获取消息 ID 和聊天 ID 后返回特定消息的函数

客户端get_messages方法提供一个指定消息 ID 或 ID 列表的ids参数。

message = await client.get_messages(chat_id, ids=message_id)

返回消息对象(如果给定 ID 存在(或返回None

<小时 />
ids = [message_id_1, message_id_2, message_id_3, ...]
messages = await client.get_messages(chat_id, ids=ids)

返回具有给定 ID 的消息对象列表的总列表。如果 ID 不存在,则将None列表项。

在此处查看get_messages文档

相关内容

最新更新