Предисловие
Данная статья ни в коем случае не показывает какой я гуру-шмуру.
Здесь представлены знания и методы , которые были мной опробованы для реализации и закрепления знаний.Теперь мне хочется поделиться этим с Вами,авось кому пригодиться.
Как говорится: «С миру по нитке — голому рубаха».
Сообщество вконтакте:
vk.com/qa_ninjas
Подписывайтесь на телеграм канал:
teleg.run/QA_NINJAS
Подпункт 0:
Для того чтобы реализовать бота,Вам необходимо заранее ознакомится с тем:
— Что такое телеграм боты?
— Зачем они нужны?
— Кто такой BotFather?
— Как получить API токен бота
Это можно вкратце узнать в этой статье: https://tlgrm.ru/docs/bots
P.S. Не забудьте добавить бота как администратором в паблик телеграма
Так же данный бот использует API VK , а именно CallBackAPI,поэтому Вам тоже необходимо прочитать что это,зачем и как пользоваться.
Бот представлен через сервисный ключ (не нужна авторизация через пользователя или сообщество)
Перед выполнением каких-либо действий , необходимо скачать репозиторий с ботом (по факту там фигурирует один скрипт — main.py)
Ссылка на репозиторий — https://github.com/nekitvand/telegram_vk_bot
Когда Вы его скачаете — не забудьте заменить переменные на Ваши значения,токены и ключи! (Постарался вынести их отдельно для удобства)
Telegram Bot + WebHooks + API_VK
Необходимо зарегистрироваться в на https://www.pythonanywhere.com , выбрав доступ-план Beginner
Переходим на вкладку Console.Находим и нажимаем на «Bash»
Происходит инициализация консоли.Сейчас нам нужно создать виртуальное хранилище,чтобы в нем расположить Вашего бота.Для этого нужно ввести в консоль следующие команды:
1. virtualenv venv --python=python3.6
2.source venv/bin/activate
3. pip install flask
4. pip install requests
5. pip install Flask-SSLify
После выполнения команд переходим на вкладку Files.В левой колонке сайта , должна появится папка venv.Чуть выше должна быть строка ввода и кнопка «New Directory».Создаем новую папку и называет bot (можно любое название , с этим просто проще работать дальше)
Нажимаем на кнопку «Upload Files» и выбираем файл main.py
Теперь необходимо завести новый проект\приложение.Это делается во вкладке Web , нажатием на кнопку «Add a new app..»
После регистрации необходимо завести новый проект\приложение.Это делается во вкладке Web , нажатием на кнопку «Add a new app..»
Во время установки будет необходимо выбрать Manual conf. и ОБЯЗАТЕЛЬНО выбрать версию Python от 3.6 и выше
После удачной установки на странице Web должно появится Ваше новое приложение.
p.s. Зеленная кнопка перезагружает наш проект.Его нужно перезагружать каждый раз, после каких либо изменений в настройках либо коде.
На этой же странице , в блоке Code и Virtualenv , нужно указать все параметры ,чтобы приложение заработало (вместо nekitvand поставляем название своего приложения)
Далее нажимаем на ссылку WSGI configuration file (wsgi.py).Система отправляет нас внутрь этого документа.Здесь необходимо найти раздел Flask и раcкомментировать строчки и подправить как на скриншотах ниже (опять же указывая названия СВОЕГО приложения)
Сохраняем документ.Перезагружаем проект (на зеленную кнопку , страница Web)
Теперь нужно поставить веб-хук на бота.Для этого используется ссылку (только не забудь поставить id своего бота).
Ее необходимо просто вставить в строку браузера и перейти по ней
https://api.telegram.org/bot{id_бота}/setWebhook?url=https://{ВАШ_САЙТ}.pythonanywhere.com/{id_бота}
Если все сделано правильно — напишите Вашему боту слово «post».
В канал вашего сообщества должно прийти сообщение (последний пост с указанной группы в ВК)
Надеюсь что это руководство хоть как-то помогло Вам! Так же прошу всех почитавших отписаться мне в ЛС,если есть чем и как дополнить или улучшить статью! =))
p.s. я безграмотный холоп — не серчайте