northmule/telegram-antisapm-registrations-bot

Laminas 应用程序的骨架,包含用于对抗Telegram群组垃圾注册的模块

1.1.2 2021-11-21 17:54 UTC

This package is auto-updated.

Last update: 2024-09-22 00:20:18 UTC


README

该应用程序使用Laminas框架元素,并且应用程序的基本结构基于Laminas框架结构(前身为Zend Framework)

此机器人适用于什么

  1. 用于对抗自动订阅群组
  2. 用于阻止所有无法回答简单问题的人
  3. 自动阻止机器人(无需问题)

机器人能做什么

  1. 阻止用户在加入群组后的所有操作
  2. 在回答问题后解除所有(非全局限制)用户操作
  3. 在成功回答后删除自己的消息
  4. 欢迎用户

在您的域名上启动

  1. 克隆仓库
  2. 设置您的服务器,使网站的根目录为public文件夹
  3. 将.env.dist文件重命名为.env
  4. 在.env中设置数据
  5. 如果一切正常,您将看到欢迎页面(应用程序的基本模板)

设置

  1. 首先在Telegram中创建自己的机器人
  2. 创建机器人后,您将获得(令牌和机器人名称)
  3. 填写.env文件中的所有值
  4. 执行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;
  1. 在浏览器中执行请求 "https://Ваш_домен/telegram-bot/set-hook"(APP_MODULE_TELEGRAM_BOT_HOOK_URL - 应包含https://ваш_домен在.env中)
  2. 如果结果为正,请在.env中将APP_MODULE_TELEGRAM_DISABLE_SET设置为1
  3. 创建一个群组并将您的机器人添加进去。将机器人设为群组管理员
  4. 测试结果

示例

  1. 展开应用程序的示例 这里
  2. 可以将其添加到自己的群组并查看其如何工作的机器人 @akismetBot
  3. 机器人@akismetBot需要管理员权限

还有...

  1. 错误记录在 /data/logs 的日志中
  2. Telegram服务的请求日志记录在 /data/logs 的日志中
  3. 用户的基本信息保存在MySQL中
  4. 有几种事件可以订阅

更多信息

指向外部文档的链接

  1. Laminas
  2. PHP Telegram CORE
  3. TelegramAPI
  4. 机器人的主要逻辑