Пишем полезного Telegram бота на Golang | Урок #7 - Тестируем бота
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 Продолжаем тестировать
❤️ Если у вас есть желание поддержать развитие канала:
www.patreon.com/tuzov
boosty.to/nikolay.tuzov
Переписал код совместно с серией уроков. После фикса пары опечаток, бот заработал шикарно. Спасибо за хороший, сжатый и познавательный курс!
А что так мало подписчиков? Странно, контент довольно годный..., да и автор явно понимает что говорит и делает.
Единственное пожелание, и может даже совет, мне кажется новички основная аудитория которых и смотрит Ваш канал, все же хотели бы и goroutines и, применение schedule и, где-то брокеры сообщений, и вообще чтобы подобный код был применим к реальному проекту. Если бы все это было, мне кажется просмотров было бы несколько десятков тысяч.
Но реально и справедливо стоит отметить, что контент на голову выше 95%, того что есть в русскоязычном ютубе на данную тему!!!
Так что респект и уважение за труд!!!
Спасибо, очень приятно видеть подобные отзывы, это добавляет энтузиазма на создание новых видео
Спасибо большое за хороший курс.
Очень интересно, полезно и познавательно.
Продолжайте пожалуйста
большое спасибо за столь подробные уроки!
Очень крутые видео. Всё чётко и доступно и с объяснением почему именно так, а не иначе. Большое спасибо за ваш труд!
Было бы круто увидеть восьмой урок со state машиной для диалога с пользователем и клавиатурой.
Спасибо за курс!
Решил по вашему курсу сделать первого бота на Golang
До этого полтора года уже занимался JS и вот, смотря на гайды TG ботов на JS и на ваш курс по созданию TG бота на голанге, то, господи, как же вы над ним постарались
Новичкам и вправду необходима информация и обьяснение почему в этом случае лучше сделать подобным образом, а в ином случае поступить по другому
Подписку оформил, стану олдом, когда ваш канал наберет больше аудитории)) (я в этом уверен на 101%)
Из пожеланий, то хотел бы увидеть реализацию какого-либо проекта с использованием базы данных и горутин - это было бы очень круто
Огромное спасибо за новые знания! Успеха!
Спасибо, всегда очень приятно читать такие комментарии. Рад, что вам понравилось 💙
Олдов то я точно буду всех помнить, не сомневайтесь - как старых добрых друзей =)
Горутины точно будут, куда ж без них.
С БД тоже что-нибудь будет, я думаю. Как минимум, я хотел показать, как прикрутить к этому боту sqlite.
Кстати, заглядывай в наш чатик: t.me/+zsSZ63wEJDs3NGVi
Мы там регулярно общаемся с другими "будущими олдами" 😁
Нужно ли сразу давать простым проектам сложную архитектуру, или что-то простое лучше описать в одном файле, пока кода немного?
Кто-то может подсказать в чем ошибка? Но при старте бота или других командах, появляется ошибка в терминале can't handle event: can't process message: can't get meta: unknown meta type
Помогите! После того, как отправляю /rnd выкидывает панику: panic: runtime error: invalid memory address or nil pointer dereference. Хотя директория с именем пользователя и его ссылками автоматически создалась в storage.
Отладкой в комментах сложно заниматься. Приходи в наш чатик, поможем: t.me/+WyjmnP6la_QyYjAy
Не совсем понял причём тут недостаток прав при команде /rnd. Тут же дело не в том, что прав не хватило, а в том, что бот пытается вывести рандомную ссылку, а папки пользователя с ссылками нет. Папка пользователя же создаётся, когда мы кидаем ссылку, а не когда используем /rnd. Имеет смысл вывести создание папки в отдельную функцию и просто вставить в save и pickrandom?
у меня сервис стартует и сразу падает((
подскажите в чем ошибка, сервис запустился но компилятор бесконечно выводит сообщение:
[ERR] consumer: can't get events: can't get updates: can't do request: %!w()
решил проблему?
то же самое(
Скорее всего где-то написали e.Wrap("can't do request", err) вместо e.WrapIfErr.... Да, не совсем актуально, но если кто-то зайдет в комменты найдет)
Спасибо большое. Первый бот.
Примерно понял концепцию работы с апи, добавил от себя функцию вывода всех имеющихся ссылок. Планирую добавить отправку рандомной ссылки каждый день. Вот только есть одно но: Cannot create a file when that file already exists. Получаю ошибку, когда создаю директирорию для юзера в методе Save. Сначала использовал mkdir команду, но потом нашел mkdirAll, которая возвращает nil в случае, если директория уже создана. Вот только не помогло, все та же ошибка. Буду признателен, если поможет кто-нибудь
Я бы решил эту проблему, проверяя наличие директории самостоятельно. Если она есть, не будем пытаться создавать. В общем-то, в этих уроках я именно так и делаю. Этот способ чем-то не устроил?)
@@nikolay_tuzov Все нормально работает, у меня аутизм. Я забыл забилдить по новой. Спасибо за оперативный ответ. Не будете против, если я немного переделаю функционал под себя и выложу на гитхабе?
@@Azziko не против, конечно. Именно так и было задумано - можете использовать мой вариант для старта, а потом уже творите что душе угодно. Я только рад буду =)