[英]how to send message via telegram Bot in c#?
我是电报Bot程序员的新手,并希望编写一个简单的控制台应用程序以通过电报发送消息。
经过一番研究,我开发了此代码,没有任何错误,但是它不起作用,也没有发送我的消息。 跟踪代码时,我发现结果对象上的状态为“等待激活”,这是什么意思?
我注册了我的机器人并拥有API访问令牌,并在此代码上使用了它。
请指导我:)
static void Main(string[] args)
{
Task<Message> result;
result= DoSomethingAsync();
Console.WriteLine();
}
static async Task<Message> DoSomethingAsync()
{
var Bot = new Telegram.Bot.Api("my API access Token");
return await Bot.SendTextMessage("@blablavla", "test message");
}
您可以像这样构建自己的async main
方法:
static void Main(string[] args)
{
MainAsync(args).Wait();
Console.ReadKey();
}
static async Task MainAsync(string[] args)
{
Message result;
Console.WriteLine("Sending Message...");
result = await DoSomethingAsync();
Console.WriteLine("Message sent...");
Console.WrtieLine(result);
}
static async Task<Message> DoSomethingAsync()
{
var Bot = new Telegram.Bot.Api("my API access Token");
return Bot.SendTextMessage("@blablavla", "test message"); // It's your last call to an async function in an async function, no need to await it here.
}
这应该做你想要的。 但是请注意,它未经测试!
首先创建您的机器人
Telegram.Bot.Api bot = new Telegram.Bot.Api("my API access Token");
然后以所需的任何方法编写这样的代码。 当此方法运行时,谁将在每条消息发送之后向用户发送消息。 并将在控制台中通知您。
int offset = 0;
while (true)
{
Telegram.Bot.Types.Update[] updates = bot.GetUpdates(offset).Result;
foreach (var update in updates)
{
offset = update.Id + 1;
if (update.Message == null)
continue;
Console.WriteLine("Sending Message...");
bot.SendTextMessage(update.Message.Chat.Id, "your text");
Console.WriteLine("Message sent...");
update.Message.Text);
}
}
试试吧
您可以使用此示例来接收和接收发送消息,位置,嵌入式键盘,文本键盘,图片和...
在此示例中,您可以看到由库创建的GetUpdate和Webhook代码
本示例基于Telegram Bot API MrRoundRobin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.