Coder Social home page Coder Social logo

pinner_bot's Introduction

Вот примерный README.md файл для описанного задания:

Телеграм бот для периодического закрепления сообщений

Описание

Этот бот позволяет периодически закреплять и откреплять указанное сообщение в Telegram чате.

Основные возможности:

  • Закрепление сообщения с уведомлением участников
  • Параллельная работа с множеством чатов
  • Работа только с администратором

Установка

Для работы бота нужен:

  • Python 3.10 и выше
  • Библиотека aiogram
  • Токен для бота от @BotFather
  • Вписанный токен и id админа в файл CONFIG.py

Установка зависимостей:

pip install -r requirements.txt 

Использование

  1. Добавить бота в чат с правами администратора и правами на закрепление сообщений
  2. Выполнить команду /add_pin_message

Команды

  • /add_pin_message - закрепить сообщение
  • /stop остановить перезакрепление сообщения

для дЭбилов

Данный код представляет собой бота для периодического закрепления сообщений в Telegram. 

1. В начале кода импортируются необходимые модули и библиотеки.
2. Затем идет проверка на админа и на приватный чат.
3. Далее определены состояния конечного автомата.
4. Затем идут функции для запуска бота, добавления закрепленного сообщения, получения ссылки на группу и сообщение, установки времени и тегирования сообщений, а также функции для цикличного закрепления сообщений с тегированием.
5. В конце кода определены функции для обработки незапланированных сценариев и запуска бота.

Шаги выполнения кода:
1. Импортирование необходимых модулей и библиотек.
2. Определение функций для проверки админа и приватного чата.
3. Определение состояний конечного автомата.
4. Определение функции для запуска бота.
5. Определение функции для добавления закрепленного сообщения.
6. Определение функции для получения ссылки на группу и сообщение.
7. Определение функции для установки времени и тегирования сообщений.
8. Определение функции для цикличного закрепления сообщений с тегированием.
9. Определение функции для обработки незапланированных сценариев.
10. Определение функции для запуска бота.
11. Запуск бота.

Описание функций

В боте определены следующие функции:

1.  `cmd_start(message: types.Message)` : Функция, которая отвечает на команду /start и приветствует пользователя.

2.  `start_pin_message(message: types.Message, state: FSMContext)` : Функция, которая запускает процесс закрепления сообщения. Проверяет, является ли пользователь администратором и принимает ссылку на сообщение.

3.  `get_chat_link(message: types.Message, state: FSMContext)` : Функция, которая получает ссылку на сообщение и сохраняет ее. Затем запрашивает время, на которое нужно закрепить сообщение.

4.  `get_timer(message: types.Message, state: FSMContext)` : Функция, которая получает время (в минутах) и выполняет закрепление сообщения на указанное время.

5.  `stop_pin(message: types.Message)` : Функция, которая останавливает закрепление сообщения.

6.  `add_group(message: types.Message, state: FSMContext)` : Функция, которая добавляет бота в группу и запрашивает ссылку на сообщение, которое нужно перезакреплять.

7.  `get_group_link(message: types.Message, state: FSMContext)` : Функция, которая получает ссылку на сообщение и сохраняет ее. Затем запрашивает сообщение, которое нужно перезакреплять.

8.  `get_message(message: types.Message, state: FSMContext)` : Функция, которая получает сообщение, которое нужно перезакреплять, и спрашивает, нужно ли тегирование.

9.  `will_teg_be_used(message: types.Message, state: FSMContext)` : Функция, которая определяет, будет ли использоваться тегирование и запрашивает время перезакрепления.

10.  `timer(message: types.Message, state: FSMContext)` : Функция, которая получает время перезакрепления и запускает цикличное перезакрепление сообщений.

11.  `stop_tagged(message: types.Message)` : Функция, которая останавливает цикличное перезакрепление сообщений с тегированием.

12.  `send_message_with_tags(tegs_in_tuple)` : Функция, которая отправляет сообщение с тегами.

13.  `other(message: types.Message)` : Функция, которая обрабатывает незапланированные сценарии.

14.  `build_session()` : Функция для создания сессии бота.

15.  `main()` : Функция для запуска бота.

16.  `pin_unpin_message(chat_id, message_id, timer, message)` : Функция для закрепления и снятия закрепленного сообщения.

17.  `infinity_tags(chat_id, number_of_tags)` : Функция для цикличного перезакрепления сообщений с тегированием.

Это основные функции, определенные в боте. Каждая функция выполняет определенные задачи в процессе работы бота.

pinner_bot's People

Contributors

ivkrak avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.