itstautvydas / modular-discord-php
DiscordPHP 的扩展
v1.0.2
2023-08-20 09:57 UTC
Requires
- php: >=8.1
- seld/signal-handler: ^2.0
- team-reflex/discord-php: ^7.3
README
这是一个为 DiscordPHP 制作的扩展,允许用户创建模块来控制监听器或命令,从而使代码更加有序。我以前曾经制作过类似的东西,但我只是想重写它,因为代码真的很糟糕。
我制作这个扩展是为了使制作机器人变得更加容易,所以我决定将其公开。
功能
- 控制台/终端支持 - 能够通过控制台运行命令(并注册自己的命令)!目前不支持 Windows!不确定其他系统是否支持,我仅在 Windows 和 Linux 上进行了测试。
- 模块 - 核心功能。它们也可以根据需要启用或禁用。
- 监听器 - 将监听器放入单独的文件中,定义方法而不是调用它们。
- 命令 - 容易注册和监听命令!命令只向 Discord 发送一次。
- 访问器 - 这些所谓的 "访问器"(我想不出更好的名字了哈哈哈)是每个模块都可以访问的实例。如果你有一个对象实例,并且想在多个模块中访问它,这很有用。
- 可重载的模块! - 你还可以完全重新加载一个模块,这意味着文件更改会被应用。这基本上是禁用当前模块,获取其代码,重命名类并重新加载它。遗憾的是,PHP 中没有其他卸载类的方法。这可能对测试很有用!注意:其他外部文件不会重新加载。
待办事项
- 完成控制台命令
入门指南
安装
composer require itstautvydas/modular-discord-php
基本用法
你可以在 这里 查看完整的示例。
include 'vendor/autoload.php'; use Discord\Discord; use ModularDiscord\ModularDiscord; ModularDiscord::new()->loadAccessors()->loadModules()->initiateDiscord([ 'token' => '******' // Put your bot options here ], function (Discord $discord) { // Do something before running discord bot client... })->run();
关于访问器和模块
访问器不需要有自己的文件夹,但如果它们有,主文件应该命名为 accessor.php,类名与文件夹名称相同。
其他模块的依赖性是可能的,但请注意模块是按字母顺序加载的。
运行
非常基本的命令
php bot.php