В статье рассматривается использование телеграм-ботов как инструмента автоматизации процессов коммуникации для благотворительных организаций.
Ключевые слова: телеграм-бот, благотворительность, автоматизация, чат-бот, Python.
Современные технологии в сфере благотворительности и волонтерства играют ключевую роль в эффективной организации и координации добровольческих усилий для решения социальных задач. В рамках благотворительных фондов актуальным становится внедрение инновационных средств коммуникации и взаимодействия с волонтёрами и донорами. В данном контексте представляется целесообразным разработка и внедрение телеграм-бота, предназначенного для регистрации волонтёров, предоставления информации о текущих благотворительных проектах, а также обеспечения оперативной коммуникации с донорами.
Telegram-бот — это аккаунт, управляемый программой (сервером), а не человеком. Такие боты могут общаться с пользователями через личные сообщения, участвовать в группах и каналах. Они способны отправлять сообщения, реагировать на команды, делиться изображениями и выполнять другие функции.
Для защиты приватности у ботов есть определённые ограничения по сравнению с обычными пользователями: например, они не могут самостоятельно присоединяться к группам.
Хотя с технической точки зрения боты рассматриваются как пользователи, в данной статье термин «пользователь» будет относиться только к обычным людям.
Этапы разработки бота
Этап 1: Постановка целей и задач бота
Разработка любого чат-бота начинается с четкого определения целей и задач. Для благотворительного фонда это:
— взаимодействие волонтера с фондом;
— коммуникация координаторов фонда с волонтерами;
— автоматизация процесса сбора пожертвований;
— информирование о текущих проектах;
— регистрация на мероприятия и сбор обратной связи
Кроме того, для фонда, который фокусируется на поддержке детей с тяжелыми заболеваниями, Телеграм-бот может предлагать подписку на регулярные обновления о ходе лечения детей, сбор средств на конкретные нужды, а также организацию встреч и благотворительных акций.
К создаваемой программе предъявляются следующие основные требования:
— регистрация волонтеров для участия в различных проектах;
— предоставление информации о текущих проектах благотворительного фонда и возможность выбора конкретного проекта для пожертвования;
— регулярная рассылка новостей и обновлений фонда донорам;
— ответы на часто задаваемые вопросы и запросы доноров;
— поддержка взаимодействия с донорами через чат-бот функцию.
Этап 2: Выбор платформы и инструментов для разработки
Телеграм является одной из самых популярных платформ для создания чат-ботов благодаря своим широким возможностям и удобству интеграции.
Что касается языка программирования, одним из самых популярных языков программирования для разработки ботов является Python благодаря его преимуществам:
— простоте и читабельности кода;
— множеству библиотек для Telegram-ботов, упрощающих разработку как ботов, так и юзерботов. Самыми популярными являются aiogram и pyTelegramBotAPI. Они предлагают асинхронную обработку запросов и простоту работы с API. Вообще выбор библиотеки зависит от выбранного API и от того, что именно нужно от бота — так, популярными библиотеками для Bot API являются aiogram и Rocketgram, а для Telegram API — Telethon и Pyrogram.
— большому сообществу и поддержке.
Для хранения данных пользователей и сообщений необходимо использовать базу данных, например SQLite или PostgreSQL.
Этап 3: Проектирование и функциональные требования
На этом этапе важно продумать сценарии взаимодействия пользователей с ботом, разработать структуру диалогов и меню. Бот должен быть интуитивно понятен, чтобы пользователь мог легко найти нужную информацию или выполнить действие, будь то пожертвование или регистрация на мероприятие.
Информационная структура приложения и общая концепция пользовательского интерфейса могут быть представлены следующим образом:
Главное меню
Войти (вход или регистрация)
Уведомления
Чаты (групповые чаты и чат с поддержкой)
Проекты (информация о проектах и карточка регистрации для участия в них)
Профиль волонтера (персональная информация и проекты волонтера)
Иерархия экранных форм может выглядеть следующим образом:
Рис. 1. Иерархия уникальных экранных форм и блоков приложения для волонтера
Этап 4: Разработка и интеграция с внешними системами
Разработка функциональных модулей бота включает создание интерфейса для регистрации пользователей, организации сбора пожертвований и интеграции с внешними системами, такими как платежные шлюзы и CRM-системы. Эти интеграции позволяют автоматизировать обработку пожертвований и управлять базой данных доноров.
Регистрация и настройка бота
Чтобы зарегистрировать бота, необходимо проделать следующие шаги:
а) Отправить в чат с BotFather команду /newbot.
Рис. 2. Команда на создание нового бота
б) Ввести название бота
Рис. 3. Название бота
в) Ввести юзернейм бота — его техническое имя, которое будет отображаться в адресной строке. Юзернейм должен быть уникальным, написан на латинице и обязательно заканчиваться на bot.
Рис. 4. Ответ системы при попытке использовать юзернейм, который уже занят
Рис. 5. Подтверждение создания бота
г) BotFather пришлет токен бота — его можно использовать для настройки в сторонних сервисах.
Также через @BotFather можно настраивать профиль бота и передавать права на него другим пользователям.
Примеры команд для настройки бота:
/setdescription — меняет описание бота, пользователи увидят его в начале диалога в графе «Что умеет этот бот?». Есть ограничение в 512 символов.
/setabouttext — тоже меняет описание, но другое — то, которое видно в профиле бота. Лимит — 120 символов.
/setuserpic — меняет аватарку.
/setcommands — меняет список команд бота. Тут нельзя установить конкретные функции и за что они отвечают — лишь количество команд и как они называются.
/setjoingroups — устанавливает, можно ли добавлять бота в групповые чаты. Настройка зависит от ваших целей.
/setprivacy — устанавливает уровень доступа бота к перепискам. Если приватность включена, бот видит только сообщения, которые обращены к нему. Если отключена — все сообщения. «Телеграм» рекомендует не отключать параметры приватности.
/deletebot — удаляет бота и освобождает юзернейм.
д) Установить необходимые библиотеки.
е) Создать скрипт бота.
ж) Запустить скрипт
з) Организовать хостинг
Для стабильной работы бота необходимо запустить программу на сервере с надёжным хостингом. Боты не требуют много ресурсов, что упрощает выбор варианта хостинга и тарифа. Возможные варианты облачных хостингов: Heroku, AWS, или DigitalOcean.
Этап 5: Тестирование и отладка
Тестирование бота на всех этапах разработки является ключевым моментом. Необходимо убедиться, что все функции работают корректно, и что пользователи получают ожидаемый результат при взаимодействии с ботом. Особое внимание следует уделить тестированию интеграций и платежных систем.
Создание тестовых сценариев, где каждый пользовательский запрос и действие проверяется на предмет корректности, поможет выявить и устранить возможные ошибки до официального запуска бота.
Этап 6: Запуск и продвижение
После завершения тестирования и устранения всех багов бот готов к запуску. Важно не только запустить бота, но и обеспечить его продвижение среди целевой аудитории. Это можно сделать через социальные сети, рассылки, партнерские сайты и другие каналы.
Этап 7: Поддержка и обновление
Для стабильной работы бота необходимо его регулярно обновлять и поддерживать. Это включает добавление новых функций на основе отзывов пользователей, обновление интеграций и обеспечение бесперебойной работы бота.
Заключение
Разработка Телеграм-бота для благотворительного фонда — это сложный, но очень важный процесс, который позволит благотворительному фонду улучшить взаимодействие с участниками и донорами, повысить оперативность реагирования на изменения в проектах и обеспечить более открытый и доступный канал коммуникации.
Литература:
- Марьянов, Е. О. Анализ применения информационных технологий в некоммерческом секторе и перспективы их использования и развития в России [Текст] // Вектор экономики. — 2021. — № 11. — EISSN: 2500–3666.
- Кисиленко, А. В. Ценностные основания волонтерских практик российской молодежи [Текст] // Научный результат. Социология и управление. — 2021. — Т. 7, № 3. — С. 82–89. — DOI: 10.18413/2408–9338–2021–7–3–0–8. — URL: http://rrsociology.ru/journal/article/2529/.
- CRM для НКО на базе Битрикс24 [Электронный ресурс]. — URL: https://crm.amiveo.com/fund/#b2817 (дата обращения: 01.09.2024).
- PEP 8 -- руководство по написанию кода на Python [Электронный ресурс]. — URL: https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html (дата обращения: 01.09.2024).
- Фирсов, И.А., Крайнев, Р.К. (ред.) (2020). Основы волонтерской деятельности. Издательство «Прометей», 216 с.
- Bots: An introduction for developers. — Текст: электронный // Telegram: [сайт]. — URL: https://core.telegram.org/bots (дата обращения: 11.09.2024).