如何通过电报Bot在c#中发送消息?

时间:2016-02-10 21:39:46

标签: c# telegram telegram-bot

我是电报Bot程序员的新手,想写一个简单的控制台应用程序来发送电报信息。

经过一些research我开发了这些代码没有错误,但它不起作用,也不发送我的消息。 当我跟踪我的代码时,我发现结果对象上的状态是"等待激活"什么;这是什么意思?

我注册了我的机器人并拥有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");
    }

3 个答案:

答案 0 :(得分:2)

您可以构建自己的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.
    }

这应该做你想要的。但请注意,它未经测试!

答案 1 :(得分:1)

首先创建你的机器人

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);
                }
            }

试试吧

答案 2 :(得分:0)

您可以使用This Example收件人并接收发送讯息,位置,内联键盘,文字键盘,照片和...

在此示例中,您可以查看由您的库创建的GetUpdate和Webhook代码

此示例基于Telegram Bot API MrRoundRobin