Пишем полезного Telegram бота на Golang | Урок #7 - Тестируем бота

Sdílet
Vložit
  • čas přidán 7. 06. 2024
  • В этом уроке мы зарегистрируем бота в Telegram, получим его API-токен и протестируем нашу программу.
    Попутно мы исправим пару ошибок в коде.
    Ссылка на итоговый проект на гитхабе: github.com/JustSkiv/read-advi...
    На коммиты по урокам не разбито, так как изначально собирался записать один большой урок.
    ---
    ❤️ Если у вас есть желание поддержать развитие канала:
    / tuzov
    boosty.to/nikolay.tuzov
    👾 Мой канал в Telegram: t.me/ntuzov
    🗣 Чат в Telegram: t.me/+zsSZ63wEJDs3NGVi
    👀 Golang Digest: t.me/golang_digest - мои регулярные подборки интересных материалов по Go.
    ---
    Картинка на превью добавлена с разрешения её автора, за что ему большое спасибо.
    Его профиль на Хабре: habr.com/ru/users/oWart/
    Тайм-коды:
    00:00 Вступление
    00:12 Создаём бота в Telegram
    01:20 Передаём API-токен в программу
    01:37 Исправляем имя флага
    01:53 Запускаем и тестируем бота
    02:20 Исправляем ошибку с правами доступа
    03:46 Продолжаем тестировать

Komentáře • 29

  • @nikolay_tuzov
    @nikolay_tuzov  Před rokem

    ❤️ Если у вас есть желание поддержать развитие канала:
    www.patreon.com/tuzov
    boosty.to/nikolay.tuzov

  • @vladislav_artyukhov
    @vladislav_artyukhov Před 3 měsíci +2

    Переписал код совместно с серией уроков. После фикса пары опечаток, бот заработал шикарно. Спасибо за хороший, сжатый и познавательный курс!

  • @user-ew2pd6fq8j
    @user-ew2pd6fq8j Před 2 lety +9

    А что так мало подписчиков? Странно, контент довольно годный..., да и автор явно понимает что говорит и делает.
    Единственное пожелание, и может даже совет, мне кажется новички основная аудитория которых и смотрит Ваш канал, все же хотели бы и goroutines и, применение schedule и, где-то брокеры сообщений, и вообще чтобы подобный код был применим к реальному проекту. Если бы все это было, мне кажется просмотров было бы несколько десятков тысяч.
    Но реально и справедливо стоит отметить, что контент на голову выше 95%, того что есть в русскоязычном ютубе на данную тему!!!
    Так что респект и уважение за труд!!!

    • @nikolay_tuzov
      @nikolay_tuzov  Před 2 lety +3

      Спасибо, очень приятно видеть подобные отзывы, это добавляет энтузиазма на создание новых видео

  • @user-cp7ge5vk5m
    @user-cp7ge5vk5m Před 2 lety +4

    Спасибо большое за хороший курс.
    Очень интересно, полезно и познавательно.
    Продолжайте пожалуйста

  • @AleksandrPopov-te8tq
    @AleksandrPopov-te8tq Před měsícem

    большое спасибо за столь подробные уроки!

  • @kinvain
    @kinvain Před 2 lety

    Очень крутые видео. Всё чётко и доступно и с объяснением почему именно так, а не иначе. Большое спасибо за ваш труд!
    Было бы круто увидеть восьмой урок со state машиной для диалога с пользователем и клавиатурой.

  • @user-kr2bf6tn1w
    @user-kr2bf6tn1w Před 2 lety +2

    Спасибо за курс!

  • @defanji8484
    @defanji8484 Před rokem +2

    Решил по вашему курсу сделать первого бота на Golang
    До этого полтора года уже занимался JS и вот, смотря на гайды TG ботов на JS и на ваш курс по созданию TG бота на голанге, то, господи, как же вы над ним постарались
    Новичкам и вправду необходима информация и обьяснение почему в этом случае лучше сделать подобным образом, а в ином случае поступить по другому
    Подписку оформил, стану олдом, когда ваш канал наберет больше аудитории)) (я в этом уверен на 101%)
    Из пожеланий, то хотел бы увидеть реализацию какого-либо проекта с использованием базы данных и горутин - это было бы очень круто
    Огромное спасибо за новые знания! Успеха!

    • @nikolay_tuzov
      @nikolay_tuzov  Před rokem +2

      Спасибо, всегда очень приятно читать такие комментарии. Рад, что вам понравилось 💙
      Олдов то я точно буду всех помнить, не сомневайтесь - как старых добрых друзей =)
      Горутины точно будут, куда ж без них.
      С БД тоже что-нибудь будет, я думаю. Как минимум, я хотел показать, как прикрутить к этому боту sqlite.

    • @nikolay_tuzov
      @nikolay_tuzov  Před rokem +1

      Кстати, заглядывай в наш чатик: t.me/+zsSZ63wEJDs3NGVi
      Мы там регулярно общаемся с другими "будущими олдами" 😁

  • @user-by6lf1js6w
    @user-by6lf1js6w Před 3 měsíci

    Нужно ли сразу давать простым проектам сложную архитектуру, или что-то простое лучше описать в одном файле, пока кода немного?

  • @notforyou1804
    @notforyou1804 Před 2 měsíci

    Кто-то может подсказать в чем ошибка? Но при старте бота или других командах, появляется ошибка в терминале can't handle event: can't process message: can't get meta: unknown meta type

  • @vadimvadimvadimvadimvadim

    Помогите! После того, как отправляю /rnd выкидывает панику: panic: runtime error: invalid memory address or nil pointer dereference. Хотя директория с именем пользователя и его ссылками автоматически создалась в storage.

    • @nikolay_tuzov
      @nikolay_tuzov  Před rokem +1

      Отладкой в комментах сложно заниматься. Приходи в наш чатик, поможем: t.me/+WyjmnP6la_QyYjAy

  • @lostntiredl488
    @lostntiredl488 Před 6 měsíci

    Не совсем понял причём тут недостаток прав при команде /rnd. Тут же дело не в том, что прав не хватило, а в том, что бот пытается вывести рандомную ссылку, а папки пользователя с ссылками нет. Папка пользователя же создаётся, когда мы кидаем ссылку, а не когда используем /rnd. Имеет смысл вывести создание папки в отдельную функцию и просто вставить в save и pickrandom?

  • @user-ei3yw3ge2u
    @user-ei3yw3ge2u Před rokem +1

    у меня сервис стартует и сразу падает((

  • @AlexTomashevich
    @AlexTomashevich Před 10 měsíci +2

    подскажите в чем ошибка, сервис запустился но компилятор бесконечно выводит сообщение:
    [ERR] consumer: can't get events: can't get updates: can't do request: %!w()

    • @kizaru_777
      @kizaru_777 Před 10 měsíci

      решил проблему?

    • @louielouielouielouielouie00000
      @louielouielouielouielouie00000 Před 7 měsíci

      то же самое(

    • @user-jr5nm9vx4d
      @user-jr5nm9vx4d Před 27 dny

      Скорее всего где-то написали e.Wrap("can't do request", err) вместо e.WrapIfErr.... Да, не совсем актуально, но если кто-то зайдет в комменты найдет)

  • @Azziko
    @Azziko Před 2 lety +1

    Спасибо большое. Первый бот.
    Примерно понял концепцию работы с апи, добавил от себя функцию вывода всех имеющихся ссылок. Планирую добавить отправку рандомной ссылки каждый день. Вот только есть одно но: Cannot create a file when that file already exists. Получаю ошибку, когда создаю директирорию для юзера в методе Save. Сначала использовал mkdir команду, но потом нашел mkdirAll, которая возвращает nil в случае, если директория уже создана. Вот только не помогло, все та же ошибка. Буду признателен, если поможет кто-нибудь

    • @nikolay_tuzov
      @nikolay_tuzov  Před 2 lety +2

      Я бы решил эту проблему, проверяя наличие директории самостоятельно. Если она есть, не будем пытаться создавать. В общем-то, в этих уроках я именно так и делаю. Этот способ чем-то не устроил?)

    • @Azziko
      @Azziko Před 2 lety

      @@nikolay_tuzov Все нормально работает, у меня аутизм. Я забыл забилдить по новой. Спасибо за оперативный ответ. Не будете против, если я немного переделаю функционал под себя и выложу на гитхабе?

    • @nikolay_tuzov
      @nikolay_tuzov  Před 2 lety +2

      @@Azziko не против, конечно. Именно так и было задумано - можете использовать мой вариант для старта, а потом уже творите что душе угодно. Я только рад буду =)