<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Пишем Telegram-бот на Go]]></title><description><![CDATA[<p dir="auto">Сегодня создадим простого Telegram-бота на языке Go, который будет отвечать на команду /start сообщением “Привет мир!”.</p>
<p dir="auto">Первое что нам понадобится это установить зависимости, надеюсь что у вас Go уже установлен?</p>
<p dir="auto">Для работы используем библиотеку <code>go-telegram-bot-api</code>. Установите её:</p>
<pre><code class="language-shell">go get github.com/go-telegram-bot-api/telegram-bot-api/v5
</code></pre>
<p dir="auto">Далее создаем файл main.go и вставьте следующий код:</p>
<pre><code class="language-go">package main

import (
    "log"

    tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
)

func main() {
    // Замените "YOUR_BOT_TOKEN" на токен вашего бота
    bot, err := tgbotapi.NewBotAPI("YOUR_BOT_TOKEN")
    if err != nil {
        log.Panic(err)
    }

    bot.Debug = false // Включите true для отладки

    // Настраиваем параметры получения обновлений
    updateConfig := tgbotapi.NewUpdate(0)
    updateConfig.Timeout = 60 // Таймаут ожидания обновлений (в секундах)

    // Получаем обновления
    updates := bot.GetUpdatesChan(updateConfig)

    // Обрабатываем входящие сообщения
    for update := range updates {
        if update.Message != nil &amp;&amp; update.Message.IsCommand() {
            // Проверяем команду /start
            if update.Message.Command() == "start" {
                // Формируем ответ
                msg := tgbotapi.NewMessage(update.Message.Chat.ID, "Привет!")
                msg.ReplyToMessageID = update.Message.MessageID

                // Отправляем сообщение
                if _, err := bot.Send(msg); err != nil {
                    log.Panic(err)
                }
            }
        }
    }
}
</code></pre>
<p dir="auto"><em>p.s. честно говоря на питоне слегка попроще писать ботов, но да ладно едем дальше))</em></p>
<p dir="auto">Теперь давайте запустим нашего бота, для этого не забудьте заменить <code>YOUR_BOT_TOKEN</code>, на токен вашего бота (его выдает BotFather при создании бота).</p>
<p dir="auto">Запустим бота:</p>
<pre><code>go run main.go
</code></pre>
<p dir="auto">После перейдите в телегу и напишите вашему боту в Telegram команду /start. Он ответит “Привет!”.</p>
<p dir="auto">Ну и в принципе все! Теперь можно придумывать всякие штучки, программировать бота как душе угодно.<br />
Я уже писал про бота на питоне в предидущем посте если кому-то интересно - <a href="https://forum.rosdesk.ru/topic/120/kak-sozdat-svoego-telegram-bota-na-python-za-5-minut" target="_blank" rel="noopener noreferrer">ссылка</a></p>
]]></description><link>https://forum.exlends.ru/topic/134/pishem-telegram-bot-na-go</link><generator>RSS for Node</generator><lastBuildDate>Fri, 26 Jun 2026 20:34:00 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/134.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 May 2025 20:59:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Пишем Telegram-бот на Go on Thu, 29 May 2025 08:47:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/mugiwara" aria-label="Profile: Mugiwara">@<bdi>Mugiwara</bdi></a> Ну ты душный конечно, <code>go-telegram-bot-api</code> я использую лишь потому что уже работал с ним, а если хочется дженериков и прочих финтов бери - <code>telebot</code>.</p>
<p dir="auto">А по поводу получения токена, тут уж извините! BotFather - 3 команды написать вон тебе Яндекс Алиса выдаст сразу как это сделать.</p>
<p dir="auto">Готовый пример будет попозже ))</p>
]]></description><link>https://forum.exlends.ru/post/264</link><guid isPermaLink="true">https://forum.exlends.ru/post/264</guid><dc:creator><![CDATA[kirilljsx]]></dc:creator><pubDate>Thu, 29 May 2025 08:47:36 GMT</pubDate></item><item><title><![CDATA[Reply to Пишем Telegram-бот на Go on Wed, 28 May 2025 08:20:27 GMT]]></title><description><![CDATA[<p dir="auto">Ну, статья, конечно, интересная, но как-то всё слишком поверхностно. Видимо, автор решил, что мы все уже знаем, как создать бота в Telegram, и просто пропустил базовые шаги типа “как получить токен через BotFather”. Окей, ладно, предположим, что это “домашнее задание” для читателя.</p>
<p dir="auto">А выбор go-telegram-bot-api вообще остался загадкой. Это типа потому что она первая в выдаче Google? Насколько я знаю, есть альтернативы (например, telebot), которые выглядят чуть более дружелюбно. Или может, автор просто фанат этой либы? <img src="https://forum.exlends.ru/assets/plugins/nodebb-plugin-emoji/emoji/android/1f605.png?v=a1e94250dac" class="not-responsive emoji emoji-android emoji--sweat_smile" style="height:23px;width:auto;vertical-align:middle" title="😅" alt="😅" /></p>
<p dir="auto">Кстати, про производительность Go — да, звучит красиво, но давайте честно: сколько из нас пишут ботов, которые обрабатывают миллионы запросов в секунду? Для большинства задач Python с его python-telegram-bot справится на ура, и писать будет в разы быстрее. Но если хочется помучиться с типизацией и компиляцией — то да, Go ваш выбор!</p>
<p dir="auto">В целом, за пример спасибо, хотя код мог быть и покомпактнее. Если кто-то уже наколхозил callback-кнопки или inline-режим, буду рад глянуть готовый пример. А то самому писать лень, а копипастить — это святое. <img src="https://forum.exlends.ru/assets/plugins/nodebb-plugin-emoji/emoji/android/1f643.png?v=a1e94250dac" class="not-responsive emoji emoji-android emoji--upside_down_face" style="height:23px;width:auto;vertical-align:middle" title="🙃" alt="🙃" /></p>
]]></description><link>https://forum.exlends.ru/post/260</link><guid isPermaLink="true">https://forum.exlends.ru/post/260</guid><dc:creator><![CDATA[Mugiwara]]></dc:creator><pubDate>Wed, 28 May 2025 08:20:27 GMT</pubDate></item></channel></rss>