【问题标题】:Telegram Bot: get chat Id groupTelegram Bot:获取聊天 ID 组
【发布时间】:2020-04-14 17:33:57
【问题描述】:

我使用 C# 创建了一个 Telegram Bot,我想在发送消息时查看谁在使用我的 bot。
当人们在私人聊天中向我的机器人发送消息时,我可以得到消息,但在群组中,我无法获取正在使用机器人的用户名,并且它返回了 GroupName。

我使用的方法是

var me = Bot.GetChatAsync(e.Message.Chat.Id).Result;

【问题讨论】:

  • 顺便说一句,只有在处理匿名类型时才需要使用var...尝试使用显式类型而不是var。 (IDE0008)
  • 我的问题是它的电报组返回名称
  • 任何await方法使用后,await,不要放.Result代码会报错...

标签: c# .net telegram telegram-bot


【解决方案1】:

来自doc 这个字段User 对于组来说是可选的。

【讨论】:

  • 我已授予我的 Bot 管理员权限
  • @this_isName 请仔细阅读消息部分,来自不适合群组
【解决方案2】:

你可以在e.Message.From看到谁发的消息,这个属性返回User发消息的人。

你应该等待可以等待的方法。


在您的情况下,Bot.GetChatAsync,这将从 ChatId 返回 Chat

意思是:来自Id的聊天信息。

你将Chat 而非ChatId 传递给Bot.GetChatAsync

【讨论】:

    猜你喜欢
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 2016-12-05
    • 2022-12-21
    • 2018-01-28
    • 1970-01-01
    • 2019-05-23
    相关资源
    最近更新 更多