Приложение использует элементы Laminas Framework, так же за основу скелета приложения взята структура Laminas Framework (Бывший Zend Framework)
- Для борьбы с автоподпиской на группу
- Для блокирования всех тех кто не смог ответить на простой вопрос
- Автоматически блокирует ботов (без вопросов)
- Блокировать все действия пользователя после его вступления в группу
- Разблокировать все (не ограниченные глобально) действия пользователя после ответа на вопрос
- Удалить после удачного ответа за собой сообщение
- Поприветствовать пользователя
- Клонируйте репозитарий
- Настройте ваш сервер так что бы корнем сайта была папка public
- Переименуйте файл .env.dist в .env
- Настройте данные в .env
- Если всё верно - вы увидите страницу приветствия (базовый шаблон приложения)
- В первую очередь создайте своего бота в Telegram
- После создания своего бота у вас будет (Токен и имя бота)
- Заполните все значения в файле .env
- Выполните миграцию таблиц Doctrina или выполните запрос на создание нужной таблицы в вашей MySQL
CREATE TABLE `coderun_bot_telegram_users_chat` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`userId` BIGINT(20) NULL DEFAULT NULL COMMENT 'ИД пользователя Телеграм',
`userName` VARCHAR(250) NULL DEFAULT NULL COMMENT 'логин пользователя' COLLATE 'utf8_unicode_ci',
`approved` TINYINT(1) NOT NULL COMMENT 'Можно писать в чат или нет',
`languageCode` VARCHAR(20) NULL DEFAULT NULL COMMENT 'Код языка' COLLATE 'utf8_unicode_ci',
`chatId` BIGINT(20) NOT NULL COMMENT 'ИД чата',
`chatName` VARCHAR(250) NULL DEFAULT NULL COMMENT 'Имя чата' COLLATE 'utf8_unicode_ci',
`dateCreated` DATETIME NULL DEFAULT NULL COMMENT 'Дата создания записи',
`dateUpdated` DATETIME NULL DEFAULT NULL COMMENT 'Дата обновления записи',
`uuid` VARCHAR(36) NULL DEFAULT NULL COMMENT 'Уникальный код, автогенерируется при вставке' COLLATE 'utf8_unicode_ci',
`dtype` VARCHAR(255) NOT NULL COLLATE 'utf8_unicode_ci',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `UNIQ_2F8DF3B6D17F50A6` (`uuid`) USING BTREE,
INDEX `user_in_chat_idx` (`userId`, `chatId`) USING BTREE
)
COMMENT='Пользователи чата'
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2;
- Выполните запрос в браузере "https://Ваш_домен/telegram-bot/set-hook" (APP_MODULE_TELEGRAM_BOT_HOOK_URL - должен содержать https://ваш_домен в .env)
- Если результат положительный, установите в .env APP_MODULE_TELEGRAM_DISABLE_SET в значение 1
- Создайте Группу и добавьте туда вашего бота. Сделайте бота администратором группы
- Протестируйте результат
- Пример развёрнутого приложения Здесь
- Бот которого можно добавить в свою группу и посмотреть как он работает @akismetBot
- Боту @akismetBot необходимы права администратора
- Ошибки записываются в лог в /data/logs
- Лог запросов от сервиса Телеграм записывается в лог в /data/logs
- Базовая информация о пользователях сохраняется в MySQL
- Есть несколько событий на которые можно подписаться
Ссылки на документацию сторонних источников