Bot do Telegram em C#: criando do zero em 30 minutos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Por que C# é uma excelente escolha para um bot do Telegram?

\n\n

Se você ainda pensava que bots do Telegram são escritos apenas em Python ou JavaScript, prepare-se para se surpreender. C# com sua tipagem forte, enorme ecossistema e velocidade de execução é um verdadeiro "peso-pesado" para criar bots. Imagine: você escreve o código uma vez, e o bot funciona por anos sem falhas, processando milhares de mensagens por segundo. Parece tentador, não é?

\n\n

Neste guia, criaremos um bot do Telegram em C# do zero. Você aprenderá como registrar o bot no BotFather, conectar a biblioteca Telegram.Bot e escrever um código funcional com tratamento de comandos. Sem enrolação — apenas prática e exemplos reais.

\n\n

O que vamos precisar?

\n\n

Antes de começar, certifique-se de que você tem:

\n
    \n
  • .NET SDK (versão 6.0 ou superior) — pode baixar do site oficial;
  • \n
  • Visual Studio ou VS Code (qualquer IDE onde você se sinta confortável);
  • \n
  • Conta no Telegram — sem ela não dá;
  • \n
  • 5 minutos de tempo livre — o resto o C# faz.
  • \n
\n\n

Pronto? Vamos lá!

\n\n

Passo 1. Obtendo o token do bot através do BotFather

\n\n

Antes de escrever código, precisamos "criar" o bot. Abra o Telegram e encontre @BotFather — ele é o principal "criador de bots" no Telegram.

\n\n
    \n
  1. Digite o comando /newbot.
  2. \n
  3. Escolha um nome para o bot (por exemplo, MyFirstCSharpBot).
  4. \n
  5. Escolha um username (obrigatoriamente terminando em bot, por exemplo MyFirstCSharpBot).
  6. \n
  7. Receba o token — uma longa string no formato 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11.
  8. \n
\n\n

Importante: o token é a chave de acesso ao seu bot. Não mostre a ninguém e não publique em código aberto. O melhor é armazená-lo em appsettings.json ou em variáveis de ambiente.

\n\n

Passo 2. Criando o projeto e instalando a biblioteca

\n\n

Abra o terminal e execute os comandos:

\n\n
dotnet new console -n TelegramBotCSharp\ncd TelegramBotCSharp\ndotnet add package Telegram.Bot
\n\n

Estamos usando a biblioteca Telegram.Bot — a mais popular e suportada para trabalhar com a API do Telegram em C#. Ela cuida de todo o "trabalho pesado": conexão com o servidor, processamento de atualizações, envio de mensagens.

\n\n

Após a instalação, abra o arquivo Program.cs — é aqui que escreveremos a mágica.

\n\n

Passo 3. Escrevendo o código básico do bot

\n\n

Vamos começar com o mais simples: o bot responderá aos comandos /start e /help. Aqui está o código funcional mínimo:

\n\n
using Telegram.Bot;\nusing Telegram.Bot.Exceptions;\nusing Telegram.Bot.Polling;\nusing Telegram.Bot.Types;\nusing Telegram.Bot.Types.Enums;\n\nvar botClient = new TelegramBotClient("SEU_TOKEN_AQUI");\n\nusing var cts = new CancellationTokenSource();\n\nvar receiverOptions = new ReceiverOptions\n{\n    AllowedUpdates = Array.Empty<UpdateType>() // recebemos todos os tipos de atualizações\n};\n\nbotClient.StartReceiving(\n    updateHandler: HandleUpdateAsync,\n    pollingErrorHandler: HandlePollingErrorAsync,\n    receiverOptions: receiverOptions,\n    cancellationToken: cts.Token\n);\n\nConsole.WriteLine("Bot iniciado! Pressione Enter para parar.");\nConsole.ReadLine();\ncts.Cancel();\n\nasync Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)\n{\n    if (update.Message is not { } message)\n        return;\n    if (message.Text is not { } messageText)\n        return;\n\n    var chatId = message.Chat.Id;\n    Console.WriteLine($"Mensagem recebida '{messageText}' de {chatId}");\n\n    if (messageText == "/start")\n    {\n        await botClient.SendTextMessageAsync(\n            chatId: chatId,\n            text: "                

Blogs

Book Recommendations