如何使用 telethon 通过 link 发送消息然后启动机器人?
How to send message followed by start to a bot by link using telethon?
我想与一个获取聊天 ID 和消息 ID 并根据该聊天 ID 的消息进行回复的机器人进行交互。
通常我在群聊中使用 KeyboardButtonUrl
与机器人互动,其中 link(例如,这里是 KeyboardButtonUrl 后面的 url,https://t.me/SomeBot?start=-1001234567890_654321
)数据。我单击直接打开与机器人聊天的按钮并单击“开始”按钮,将命令发送到机器人(我认为机器人从具有聊天 ID 和消息 ID 的传递数据中获取消息)。
使用 send_message
函数发送消息“-1001234567890_654321”没有按预期工作。
如何使用 telethon 实现此目的?
此外,在 telethon docs 中搜索后,在获取消息 ID 和聊天 ID 后,我找不到任何 returns 特定消息的功能。 get_messages
& iter_messages
returns 指定没有。仅最后一条消息。
您似乎想启动带有参数的机器人。
请参考以下内容:
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)
请求的工作方式与以下 link 相同:
https://t.me/bot_username_bot?start=params_string
希望对您有所帮助!祝你好运!
您可以使用@oleskii 的方法,但您也可以像这样发送消息:
client.send_message('bot username', '/start params_string')
I could not find any function which returns a particular message after taking message id and chat id
客户端 get_messages
方法给出一个 ids
参数,指定消息 ID 或 ID 列表。
message = await client.get_messages(chat_id, ids=message_id)
return 消息对象,如果给定的 id 存在或 return None
ids = [message_id_1, message_id_2, message_id_3, ...]
messages = await client.get_messages(chat_id, ids=ids)
return total list 个具有给定 ID 列表的消息对象。如果 id 不存在,列表项将是 None
。
我想与一个获取聊天 ID 和消息 ID 并根据该聊天 ID 的消息进行回复的机器人进行交互。
通常我在群聊中使用 KeyboardButtonUrl
与机器人互动,其中 link(例如,这里是 KeyboardButtonUrl 后面的 url,https://t.me/SomeBot?start=-1001234567890_654321
)数据。我单击直接打开与机器人聊天的按钮并单击“开始”按钮,将命令发送到机器人(我认为机器人从具有聊天 ID 和消息 ID 的传递数据中获取消息)。
使用 send_message
函数发送消息“-1001234567890_654321”没有按预期工作。
如何使用 telethon 实现此目的?
此外,在 telethon docs 中搜索后,在获取消息 ID 和聊天 ID 后,我找不到任何 returns 特定消息的功能。 get_messages
& iter_messages
returns 指定没有。仅最后一条消息。
您似乎想启动带有参数的机器人。
请参考以下内容: 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)
请求的工作方式与以下 link 相同:
https://t.me/bot_username_bot?start=params_string
希望对您有所帮助!祝你好运!
您可以使用@oleskii 的方法,但您也可以像这样发送消息:
client.send_message('bot username', '/start params_string')
I could not find any function which returns a particular message after taking message id and chat id
客户端 get_messages
方法给出一个 ids
参数,指定消息 ID 或 ID 列表。
message = await client.get_messages(chat_id, ids=message_id)
return 消息对象,如果给定的 id 存在或 return None
ids = [message_id_1, message_id_2, message_id_3, ...]
messages = await client.get_messages(chat_id, ids=ids)
return total list 个具有给定 ID 列表的消息对象。如果 id 不存在,列表项将是 None
。