Создание своего Telegram бота для расшифровки голосовых сообщений
Меня тут попросили написать пост про моего дешёвого ChatGPT бота для расшифровки голосовых сообщений, генерации изображений и написание текстов. Чтобы сразу ответить на вопросы всех моих знакомых и случайных пикабушников, был написан этот пост.
Что необходимо:
~120 рублей раз в три месяца
Свободное время, чтобы настроить всё по инструкции
Наличие интернета
хороший VPN, чтобы зайти на сайт OpenAI
Начало работы
Для начало, нам необходимо зайти на 365sms или другой подобный сайт, зарегистрироваться и пополнить баланс на сумму, необходимую для аренды номера.
Далее необходимо включить VPN и открыть браузер в режиме инкогнито для открытия сайта OpenAI, в моём случае это VPN сервер в Германии. Подойдёт почти любой сервер не находящийся на территории РФ.
Далее заходим на сайт Tempmail, вставляем полученную на сайте почту и придумываем пароль для аккаунта, рекомендую его где-нибудь записать.
Если выдаёт ошибку "Signup is currently unavailable, please try again later", меняем почту.
На сайте нам приходит письмо, переходим по ссылке из него для верификации аккаунта.
В открывшейся вкладке вбиваем случайные данные.
Нажимаем API и у нас открывается панель управления.
Нажимаем на выделенную красным на моём скриншоте кнопочку.
И снова.
Выбираем страну и покупаем номер телефона. В моём случае самым дешёвым оказался Филиппинский номер. Беру его.
Нажимаю "Копировать без кода страны" и вставляю его на сайте OpenAI. Если SMS не приходит — необходимо сменить номер телефона.
Вводим код на сайте OpenAI.
Тут необходимо нажать "Continue".
Называем ключ как душе угодно, в пункте "Permissions" выбираем "All" и нажимаем "create".
Данный ключ необходимо надёжно сохранить там, откуда его гарантированно можно будет потом скопировать. Теперь можно смело закрыть все вкладки, которые связаны с OpenAI.
Создание бота в Telegram
На данном этапе нам необходимо перейти в Telegram и перейти в BotFather.
В нём по очереди вбиваем /newbot и пишем имя нашего бота, а потом его юзернейм (тот, который начинается с @). Он обязательно должен кончаться на "bot".
Редактировать бота можно командой /mybots. Там необходимо выбрать бота и нажать "Edit Bot". Там можно задать Аватарку, описание и другие составляющие бота.
В данный момент бот просто существует в телеграме, но ничего не делает. Время это исправить!
Покупка и установка бота на сервер
Чтобы бот начал нам отвечать, необходимо купить сервер, а потом настроить и запустить бота.
Я в своём гайде буду использовать самый простой способ лично для меня, покупка сервера на Play2go, самом лучшем по моему мнению хостинге для ботов и игровых серверов.
Необходимо создать аккаунт на хостинге и перейти в личный кабинет. Рекомендую посмотреть, сколько стоит сервер "Coding-1" нажав на кнопку "Приобрести новую услугу". В моём случае это 31 рубль, но в будущем цена может измениться. Период оплаты рекомендую использовать 3 месяца, так как там есть скидка в 5%.
Основание услуги необходимо выбрать как на скриншоте выше.
Далее входим в панель управления хостинга. Можно сразу перейти во вкладку "Startup" и в поле "APP PY FILE" указать "bot/main.py", а в "Docker image" выбираем "Python 3.10".
Переходим во вкладку "Files" и скачиваем файл указанный в гиперссылке. Необходимо распаковать его на компьютере (он распакуется как папка, в неё необходимо зайти), а потом всё содержимое папки необходимо запаковать в архив формата zip, либо tar. Перетаскиваем созданный архив в центр вкладки и архив заливается на сервер. Теперь необходимо нажать по нему ПКМ и выбрать пункт "Unarchive".
Получится примерно так. Скачиваем ещё файл, тоже заливаем на сервер, теперь необходимо нажать по нему ЛКМ, чтобы открыть его. После внесения всех изменений необходимо нажать "SAVE CONTENT" внизу страницы.
Добавление людей в белый список бота
Для того, чтобы добавить людей, необходимо вписать их id. Их можно узнать через @usinfobot.
Вот пример использования этого бота. нам необходимо нажать "Only ID of <юзернейм_человека>" и скопировать отправленные цифры. Чтобы добавить много людей сразу, необходимо писать их ID через запятую без пробела (12345,23412,123343). Айдишники необходимо писать в оба поля, какие поля конкретно — указано в самом файле.
Потом необходимо просто включить сервер (вкладка console) и дождаться сообщения "telegram.ext.Application - INFO - Application started".
Если всё сделано правильно и все поля заполнены по гайду, то у вас с вероятностью в 100% всё заработает!
Если при сообщении боту вылезает ошибка "You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-erro....", проверьте, точно ли вы следовали инструкции по созданию токена. На аккаунте OpenAI должен быть грант в 5$.
Ссылка на оригинальный гитхаб репо проекта: (жмяк)
Это мой первый полноценный пост на пикабу, поэтому любые правки принимаются!