当前位置:  开发笔记 > 编程语言 > 正文

如何使用用户名向我的电报机器人发送消息

如何解决《如何使用用户名向我的电报机器人发送消息》经验,为你挑选了3个好方法。

我正在使用telepot python库,我知道当你有某人的UserID(这是一个数字)时你可以发送一条消息.我想知道是否可以在没有用户ID的情况下向某人发送消息,但只能使用他们的用户名(以'@'开头的那个),还有一种方法可以将用户名转换为UserID.



1> 小智..:

    从用户向机器人发布一条消息。

    打开https://api.telegram.org/bot/getUpdates页面。

    找到此消息,然后导航到结果->消息->聊天-> id键。

    使用此ID作为[chat_id]参数,可以向用户发送个人消息。



2> 小智..:

只能向已经在您的漫游器上使用过/ start的用户发送消息。当他们启动您的漫游器时,您可以直接从他们发送/开始的消息中找到update.message.from.user_id,也可以使用相同的方法找到update.message.from.username。为了向“ @Username”发送消息,您将需要它们来启动您的机器人,然后将用户名与user_id存储在一起。然后,您可以输入用户名以在每次向他们发送消息时找到正确的user_id。



3> 小智..:

您不能使用形式的用户名向用户发送消息@username,您只能将消息发送给您的机器人为其管理员的频道用户名。Telegram机器人api使用chat_id标识符来发送消息。如果您想获得chat_id用户的青睐,可以使用telegram-cli,但这并不容易,因为该项目已终止,您应该自己对其进行调试。在您的情况下,您应该执行以下命令:

> resolve_username vahid_mas

输出将是这样的:

{"user": {"username": "Vahid_Mas", "id": "$010000006459670b02c0c7fd66d44708", "last_name": "", "peer_type": "user", "print_name": "Vahid", "flags": 720897, "peer_id": 191322468, "first_name": "Vahid", "phone": "xxxxxxx"}, "online": false, "event": "online-status", "state": -1, "when": "2017-01-22 17:43:16"}

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有