Skip to content

Dellno/antisferumbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Антисферумбот

Это бот созданный для пересылки сообщений из сферума в телеграмм.

Установка бота

Для начала необходимо установить на сервер подходящий дистрибутив linux с systemd, настоятельно рекомендуется ubuntu-server 24 (даллее инструкции для данного дистрибутива).

Скачиваем git (если не установлен):

sudo apt-get install git

Далее необходимо скопировать проект в папку пользователя.

git clone https://github.com/Dellno/antisferumbot.git

теперь необходимо создать виртуальное окружение

cd antisferumbot
sudo apt install -y python3-venv
python3 -m venv myenv
source myenv/bin/activate

теперь необходимо установить библиотеки для работы бота. pip install -r requirements.txt

Настройка бота

После этого необходимо настроить бота, делается это путём изменения файла settings.json

nano settings.json

немного о файле settings.json

параметр пример на что влияет
remixdsid "очень длинаая строка" обязательный параметр, берётся из cockie файлов вашего браузера. (скачиваете плагин для просмотра заходите в сферум и смотрите этот пораметр плагином)
telegram_bot_token "длинный набор букв" берётся в телеграмме у @BotFather
chat_id 2000000001 обязательный параметр, можно посмотреть в ссылке браузера если зайти в нужный чат (https://web.vk.me/convo/тут будет айди чата?entrypoint=list_all)
targets [1231131, 124312154] не обязательный параметр, если указан то сообщения будут пересылаться только от пользователей, чьи айди указаны (посмотреть можно в самом сферуме)
start_msg 0 по стандарту стоит 0, можно указать номер сообщения в чате, с которого бот начнёт анализировать чат, советуется ставить на 10 меньше номера последнего сообщения
start_fraze ["фраза", "вторая фраза"] обязательно указать хотябы 1. Будет писать случайную из указанных фраз в телеграмм после команды /start, сигнализируя о том, что бот работает

после редактирования файла необходимо нажать ctrl+x, потом нажать y, после enter.

далее прописываем команду pwd и записываем вывод в файле main.py в переменную bot_path (11 строчка). nano main.py bot_path = "вывод команды pwd + /" после редактирования файла необходимо нажать ctrl+x, потом нажать y, после enter.

nano first_run.py bot_path = "вывод команды pwd + /" после редактирования файла необходимо нажать ctrl+x, потом нажать y, после enter.

теперь необходимо убедится что бот работает. Прописываем в терминале команду: python3 first_run.py

Заходим в телеграм, добавляем нашего бота в нужный чат, пишем /start. если бот ответил одной из указанных ранее вами фраз, значит всë ок. нажимаем Ctrl+z (2 раза) чтобы выключить бота. также признаком корректной работы бота после про рисования команды /start является создание в директории с проектом файла "bot_memory.txt". (посмотретьдсодержимое директории можно в терминале командой ls. теперь перезапускаем сервер командой sudo reboot , прописываем пароль и сервер перезагружается.

Настройка systemd для авто перезапуска бота.

Теперь бот может работать, но т.к. это запросы к API, вполне нормально возникновения ошибок, которые приводят к крашу бота. Так сферум АПИ может выкидывать бота +- раз в 15 минут. Дабы не перезапускать бота каждые 15 минут в ручную, мы создадим для этого "сервис", который будет делать это за нас, даже после перезагрузки сервера.

для начала прописываем в терминале команду: sudo nano /etc/systemd/system/asbot.service вводим пароль администратора, и в открывшемся, уже знакомом нам редакторе пишем:

[Unit]
Description=My test service
After=multi-user.target

[Service]
User=имяпользователя
Group=имяпользователя
Type=simple
Environment=PYTHONPATH=/home/имяпользователя/antisferumbot
Restart=always
RestartSec=5s
ExecStart=результат_вывода_команды_pwd/myenv/bin/python3 результат_вывода_команды_pwd/main.py
[Install]
WantedBy=multi-user.target

после редактирования файла необходимо нажать ctrl+x, потом нажать y, после enter.

теперь необходимо выполнить следующие команды :

sudo systemctl daemon-reload
sudo systemctl enable asbot.service
sudo systemctl start asbot.service

если после ввода команд просит ввести пароль, вводим.

теперь бот запущен и добавлен в автозагрузку, поверить это можно всë этой же командой /start в телеграмм чате с ботом.

если же бот не запустился на данном этапе, проверить его состояние можно командой

sudo systemctl status asbot.service

в случае неудачи будут выведены коды ошибок.

По вопросам о проекте: https://t.me/wild_turtles или https://t.me/Dellnoz

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages