Статья удалена
История одного бота, который должен был помочь с выбором мессенджера для людей. К сожалению, писал этого бота абсолютно неподготовленный человек.
Если вам нужна красивая история с моралью и уроками по программированию — вам не сюда. Тут будет лишь текст о том, как я хотел при минимальных усилиях сделать максимальный результат. К сожалению, в нашем мире так просто ничего не сделать.
Мне хотелось довести бота до конца и опубликовать его здесь, но, видимо, не судьба. Так что я просто напишу о его создании — мне не хочется, что бы всё закончилось просто так и об этом никто не узнал.
С чего всё началось
Началось всё с довольно простой ситуации — у меня есть, скажем так, компания из четырёх-пяти людей. Мы знакомы в реальной жизни, много времени проводим вместе и общаемся в двух мессенджерах — Дискорде и Телеграме.
К сожалению, не всем из них нравится Telegram, и одному из нас не нравился Discord. Из-за этого общение между нами становилось тяжелее, чем могло бы быть.
Тогда я подумал — а почему бы не написать своих ботов для этих мессенджеров, которые бы перенаправляли сообщения между ними? Таким образом можно было бы создать один единый чат, но в разных сетях. Меня это вдохновляло, и я до сих пор считаю это крутой идеей.
К сожалению, боты и для Telegram, и для Discord пишутся на Python. Опыт работы у меня был только с Java и C#. Но был один небольшой момент, который позволил мне ковылять в сторону создания «Единого Чата».
«Легионер»
Я серьёзно, именно так называется кастомный бот на нашем сервере Discord. Ну а что, сервер же называется Legion. Мда.
Но суть вот в чём — может, хоть этого бота и не я, а как раз таки один из моих друзей, но у меня был доступ к приватному репозиторию с кодом этого бота на GitHub (выклянчил, признаюсь). Собственно, смотря на его исходный код я смог потихоньку переписывать его под себя и учить синтаксис Python.
Да, я учил синтаксис, читая чужой код. Мне было слишком лень, извините.
Из кода «Легионера» я узнал о самых базовых функциях ботов Discord на Python — например, об on_message(), on_ready() и других. К счастью, опыт программирования у меня уже был.
Естественно, документацию я читал — и много. К тому же нужно было прошерстить огромное количество страниц документации и StackOverflow для написания бота для Телеграма.
Время счастья
После программирования на протяжении нескольких часов (кстати, в первый же день) и бесчисленных неудачных попыток запуска..
Честно сказать, я был на седьмом небе от счастья. Ну, это для меня было прям очень круто. По сути, работа была закончена. Я сделал, что хотел — теперь можно было использовать ботов для общения между чатами.
Но проблем было много.
Что было не так?
Отправление изображений
Долбанный телеграм. Дискорд был идеален в плане переноса изображений — если бот видит, что ты прислал картинку, он копирует её URL и отправляет в Телеграм. Таким образом фото переносится без каких-либо проблем.
Ну а как из Телеги их отправлять-то? Я вообще понятия не имею. Тот самый друг, который писал "Легионера", сказал, что можно настроить выгрузку в облако, пересыл из облака в дискорд и удаление из облака. Но боже, это такие костыли.
Я перешёл с "Окон" на "Яблоко"
Почему-то код, который я использовал на Windows, отказывался работать на Mac даже когда я установил все нужные библиотеки. У меня так и не удалось нормально восстановить его работу.
Мои чуть ли не нулевые познания Python
Тут объяснять, как я думаю, ничего не надо. Это было чуть ли не моё первое столкновение с этим языком и я попросту не обладал достаточным количеством знаний, что бы обходить проблемы.
Хостинг
Ой, ну тут тяжело описать суть проблемы. Я использовал Heroku и, как и с Python, это было моим первым опытом использования хостингов.
Всё получилось как-то странно: я настроил Heroku, но ничего не работало. Потом же, через пару дней, когда я пытался оживить бота, он вдруг стал работать на хостинге. Я решил не трогать то, чего не понимаю, и отключить бота от хостинга (он всё равно не функционировал).
Какой же итог тут можно сделать?
Мне очень понравилось делать этого бота, без шуток. Но думаю, к концу прочтения этого поста уже все поняли, что я подошёл к его созданию настолько непрофессионально, как только возможно.
Возможно, вам показалось, что этот пост написан с какой-то грустью. Ни в коем случае - я вспоминаю об этом боте с улыбкой, а во время написания слушаю не какую-то типадепрессивную Билли Айлиш, а KDA) Просто жаль, что не получилось завершить его.
К тому же надеюсь, что я не покрывал себя дерьмом так, как в одном из моих первых постов. Там это было прям очень плохо, надеюсь что тут не так. Пытаюсь исправиться)
Репозиторий я, кстати, прикреплять не буду - ну его нахрен. Код позорный, и к тому же я в самом коде оставил ключи ботов, а не добавил их в файл под .gitignore
Вывод? Не беритесь делать что-то, если не имеете малейшего понятия как это делать.
А зачем вы это прочитали?