Bot do Telegram em Kotlin: criando do zero em uma hora

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 Kotlin é a linguagem ideal para um bot do Telegram?

\n

Você já se perguntou por que Kotlin conquistou tão rapidamente o coração dos desenvolvedores? A questão é que essa linguagem combina a concisão do Python com o poder do Java, mas sem suas desvantagens. Quando se trata de criar um bot do Telegram em Kotlin, você obtém não apenas uma solução funcional, mas um código elegante, performático e facilmente sustentável.

\n

Imagine: você escreve um bot que processa milhares de requisições por segundo, funciona sem falhas e, ainda assim, o código ocupa metade das linhas que em Java. Parece um sonho? Na verdade, é realidade. Um bot do Telegram em Kotlin não é apenas moderno, mas também prático. Especialmente se você já conhece o ecossistema JVM ou quer experimentar algo novo depois do Python.

\n

Neste guia, criaremos passo a passo um bot completo: desde o registro no BotFather até a implantação no servidor. Você aprenderá a processar comandos, trabalhar com teclados e até enviar arquivos. Vamos lá!

\n\n

Passo 1: Preparação do ambiente e registro do bot

\n

Antes de escrever código, precisamos obter um token — a chave de acesso à API do Telegram. Isso é feito através do bot oficial BotFather. O processo leva menos de um minuto.

\n
    \n
  • Abra o Telegram e encontre @BotFather.
  • \n
  • Envie o comando /newbot.
  • \n
  • Crie um nome (por exemplo, MyKotlinBot) e um username terminado em bot (por exemplo, MyKotlinBot).
  • \n
  • Salve o token recebido — ele será necessário para a conexão.
  • \n
\n

Agora vamos configurar o projeto. Recomendo usar o IntelliJ IDEA Community Edition (é gratuito e funciona muito bem com Kotlin). Crie um novo projeto Gradle com Kotlin DSL.

\n\n

Adicionando dependências

\n

Para trabalhar com a API do Telegram, usaremos a biblioteca TelegramBots — o padrão de facto no mundo Kotlin e Java. Abra o arquivo build.gradle.kts e adicione:

\n
dependencies {\n    implementation("org.telegram:telegrambots:6.9.7.1")\n    implementation("org.telegram:telegrambotsextensions:6.9.7.1")\n    implementation("ch.qos.logback:logback-classic:1.5.6")\n}
\n

A primeira biblioteca é o núcleo, a segunda são extensões úteis (por exemplo, para processamento de comandos), a terceira é para logging, para visualizar erros.

\n\n

Passo 2: Escrevendo o primeiro bot em Kotlin

\n

Crie a classe MyBot, que herda de TelegramLongPollingBot. Esta é a maneira mais simples: o bot consultará automaticamente o servidor do Telegram em busca de novas mensagens.

\n
import org.telegram.telegrambots.bots.TelegramLongPollingBot\nimport org.telegram.telegrambots.meta.api.objects.Update\n\nclass MyBot : TelegramLongPollingBot() {\n\n    override fun getBotUsername(): String = "MyKotlinBot" // seu username\n\n    override fun getBotToken(): String = "SEU_TOKEN_AQUI" // token do BotFather\n\n    override fun onUpdateReceived(update: Update?) {\n        // Apenas um placeholder por enquanto\n        if (update?.hasMessage() == true && update.message.hasText()) {\n            println("Mensagem recebida: ${update.message.text}")\n        }\n    }\n}
\n

Agora precisamos iniciar o bot. Crie o arquivo Main.kt com o ponto de entrada:

\n
import org.telegram.telegrambots.meta.TelegramBotsApi\nimport org.telegram.telegrambots.updatesreceivers.DefaultBotSession\n\nfun main() {\n    val botsApi = TelegramBotsApi(DefaultBotSession::class.java)\n    botsApi.registerBot(MyBot())\n    println("Bot iniciado!")\n}
\n

Execute — e seu primeiro bot do Telegram em Kotlin já está vivo! Por enquanto, ele apenas exibe mensagens no console, mas isso é só o começo.

\n\n

Passo 3: Processando comandos e enviando respostas

\n

Apenas ler mensagens é chato. Vamos ensinar o bot a responder a comandos. Para isso, usaremos a anotação @BotCommand das extensões, mas primeiro reescreveremos a classe para que ela herde

Blogs

Book Recommendations