northmule / telegram-antisapm-registrations-bot
Laminas 应用程序的骨架,包含用于对抗Telegram群组垃圾注册的模块
1.1.2
2021-11-21 17:54 UTC
Requires
- php: >=7.4
- ext-pdo: *
- doctrine/doctrine-orm-module: ^3.1
- doctrine/migrations: ^3.0
- doctrine/orm: ^2.7
- northmule/telegram-bot-anti-registration: ^1.1.0
- ramsey/uuid: ^4.1
- vlucas/phpdotenv: ^5.2
Requires (Dev)
- phpstan/phpstan: ^1.2
- phpstan/phpstan-doctrine: ^1.0
- slevomat/coding-standard: ^7.0
- squizlabs/php_codesniffer: ^3.6
README
该应用程序使用Laminas框架元素,并且应用程序的基本结构基于Laminas框架结构(前身为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 的日志中
- Telegram服务的请求日志记录在 /data/logs 的日志中
- 用户的基本信息保存在MySQL中
- 有几种事件可以订阅
更多信息
指向外部文档的链接