Hello, I'm trying to create a simple telegram bot using its API.
I'm trying to look online but there are only old c# examples wich aren't still good.
I've found in the official documentation examples in c# ( I assume) like this one example-bot.html And translating it step by step I'm starting with their first quickstart
So I've translate that code in :
but it already gives me 2 errors:Code:Option Strict On Option Explicit On Imports Telegram.Bot Public Class Form1 Private Async Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Dim botClient As New TelegramBotClient("{ID }") Dim bot As Object = Await botClient.GetMeAsync() MessageBox.Show($"Hello, World! I am user {Me.Id} and my name is {Me.FirstName}.") End Sub End class
Id and Firstname are not member of Form1.
So I've tried to move forward with the more full example and I've translate it with an online tool which doesn't seems to translate c# to vb.net completely.
I'm ending up having lots of errors. Also i don't really need all those things, I just need a button that send whatever is written in a textbox. All the rest is useles to me. Can somebody help me to translate it?Code:Imports Telegram.Bot Imports Telegram.Bot.Exceptions Imports Telegram.Bot.Extensions.Polling Imports Telegram.Bot.Types Imports Telegram.Bot.Types.Enums Dim botClient As var = New TelegramBotClient("{YOUR_ACCESS_TOKEN_HERE}") Imports var cts = New CancellationTokenSource() ' StartReceiving does not block the caller thread. Receiving is done on the ThreadPool. var receiverOptions = New ReceiverOptions { AllowedUpdates = { } ' receive all update types } botClient.StartReceiving( HandleUpdateAsync, HandleErrorAsync, receiverOptions, Dim cts.Token) As cancellationToken: Dim me As var = await botClient.GetMeAsync() Console.WriteLine($"Start listening for @{me.Username}") Console.ReadLine() ' Send cancellation request to stop bot cts.Cancel() async Function HandleUpdateAsync(ByVal botClient As ITelegramBotClient, ByVal update As Update, ByVal cancellationToken As CancellationToken) As Task ' Only process Message updates: https://core.telegram.org/bots/api#message If update.Type <> UpdateType.Message Then Return End If ' Only process text messages If update.MessageNot .Type <> MessageType.Text Then Return End If Dim chatId As var = update.Message.Chat.Id Dim messageText As var = update.Message.Text Console.WriteLine($"Received a '{messageText}' message in chat {chatId}.") ' Echo received message text Message sentMessage = await botClient.SendTextMessageAsync( chatId: chatId, text: "You said:\n" + messageText, Dim cancellationToken) As cancellationToken: End Function Private Function HandleErrorAsync(ByVal botClient As ITelegramBotClient, ByVal exception As Exception, ByVal cancellationToken As CancellationToken) As Task var ErrorMessage = exception switch { ApiRequestException apiRequestException => $"Telegram API Error:\n[{apiRequestException.ErrorCode}]\n{apiRequestException.Message}", _ => exception.ToString() } Console.WriteLine(ErrorMessage) Return Task.CompletedTask End Function
Thanks




Reply With Quote
