我知道如何回复用户的留言,但我不知道如何回复机器人发来的最新消息。
我需要机器人MessageID
来自用户的此消息: 嗨 这是发送给用户的消息:
await BotAdminChannel.SendTextMessageAsync(e.Message.Chat.Id, "hello user");
这是来自用户的回复消息:
await BotAdminChannel.SendTextMessageAsync(358434970, "How are you user", replyToMessageId:e.Message.MessageId);
但我想要回复你好用户 我需要bot_messageID吗? 怎么能得到它
class Program
{
private static ITelegramBotClient BotAdminChannel = new TelegramBotClient("token");
static void Main(string[] args)
{
BotAdminChannel.OnMessage += BotAdminChannel_OnMessage;
Console.Title = BotAdminChannel.GetMeAsync().Result.FirstName;
BotAdminChannel.StartReceiving();
Console.ReadLine();
}
private async static void BotAdminChannel_OnMessage(object sender, MessageEventArgs e)
{
await BotAdminChannel.SendTextMessageAsync(e.Message.Chat.Id, "hello user");
await BotAdminChannel.SendTextMessageAsync(358434970, "How are you user", replyToMessageId:e.Message.MessageId);
}
}
答案 0 :(得分:0)
您使用SendMessage函数中的 reply_markup 属性,并将其设置为ForceReply。
在电报bot api文档中了解有关此内容的更多信息:
答案 1 :(得分:0)
嗨,我希望你一切都好,我自己是一个nooby,看到了你的问题并对此做了一些努力,发现了一种显然不是专业的方法,但是某种程度上可行
您会看到replyToMessageId:
在后面跟一个整数时有效,并且聊天中的所有消息都已编号,因此您可以找到要回复的消息编号并将其放在replyToMessageId:
之后
以下代码将在最后一条消息Bot.SendTextMessageAsync(e.Message.Chat.Id,"the text you want",replyToMessageId: e.Message.MessageId-1);