discord.py 中的 Cog 和 Extension 有什么区别?

2024-01-06

在discord.py文档中,有 扩展:https://discordpy.readthedocs.io/en/stable/ext/commands/extensions.html https://discordpy.readthedocs.io/en/stable/ext/commands/extensions.html和齿轮:https://discordpy.readthedocs.io/en/stable/ext/commands/cogs.html https://discordpy.readthedocs.io/en/stable/ext/commands/cogs.html有什么不同?


扩展是加载的文件,将它们视为 discord.py 库在调用时导入的模块load_extension。导入发生后,setup函数被调用,并传递给Bot它被加载到的实例......本质上module.setup(bot)。就是这样,没有更多的扩展...通常这个设置函数调用add_cog接下来会描述,但是没有要求他们这样做。

Cog 是一个继承自commands.Cog并通过以下方式添加到机器人的齿轮列表中add_cog,这些类通常包含命令并充当这些命令的“类别”。它还可以容纳诸如以下事件的听众:on_message or on_member_join, etc.

TL;DR - 扩展是导入的模块,cogs 是类

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

discord.py 中的 Cog 和 Extension 有什么区别? 的相关文章

随机推荐

  • Java 编译速度 vs Scala 编译速度

    我已经用 Scala 编程有一段时间了 我喜欢它 但令我恼火的一件事是编译程序所需的时间 这似乎是一件小事 但使用 Java 我可以对我的程序进行一些小更改 单击 netbeans 中的运行按钮 然后 BOOM 它正在运行 随着时间的推移
  • 迭代 std::list 时擦除

    如果我使用的是iterator in a for循环 我用erase在迭代器的当前迭代中 for 循环应该继续良好并访问其余的list元素 根据我的阅读 情况应该是这样 并且是一个主要的区别特征list vs deque or vector
  • 快速过滤元组数组

    我有一个命名元组数组 我想根据元组数组的元素值对此数组应用过滤器 typealias Section sectionName String sectionInputs Input var defaultSectionsData Sectio
  • Numpy Vector (N,1) 维度 -> (N,) 维度转换

    我有一个关于 N 维数组和 N 1 维数组之间转换的问题 例如 y 是 2 维 A np array 1 2 3 4 x np array 1 2 y np dot A x y shape Out 6 2 但下面将显示 y2 为 2 1 维
  • 根据 xml 模式验证 xml 文件

    这是关于根据 XML 模式 例如 schemafile xsd 验证 XML 文件 例如 marshalledfile xml 我们使用 jaxb 将 java 对象编组到 xml 文件中 最好的方法是什么 有人可以举一个简单的例子来说明如
  • MySQL行子查询比较问题

    我有一个小的 mysql 表 MySQL 版本 5 6 23 Field Type Null Key Default Extra id int 6 unsigned NO PRI NULL auto increment dividends
  • 如何恢复Android Fragment视图状态

    我有申请titles片段和contents屏幕上的片段 当用户单击标题片段中的项目时 将创建相应的片段并将其插入到框架中 并且所选标题在标题片段中突出显示 交易完成fragment addToBackStack 所以当用户点击BACK键 恢
  • 如何开始构建 VSTi 插件?

    我想知道构建 VSTi 插件的确切方法是什么 我不希望在短短几周内编写下一个 Massive 因为我不了解 DSP 也没有非常基本的编程技能 我确信这可能高于我目前的水平 但我认为如果我给自己设定一个我非常感兴趣的高目标 我就会成长为一名程
  • Facebook Graph API:在调用 FB.init() 之前调用 FB.login()

    我正在尝试在我的网站上使用新的 Facebook Graph API 这就是我所拥有的 页面上的某处
  • 如何在 Javascript 中映射替换字符(类似于 Perl 中的“tr”函数)?

    我一直在试图弄清楚如何将字符串中的一组字符映射到另一组类似于trPerl 中的函数 I found 这个网站显示了 JS 和 Perl 中的等效功能 http www lemoda net perl perl js perl js html
  • 使用 api.rpc. payment.queryFeeDetails 获取外部费用

    我想用api rpc payment queryFeeDetailsAPI 调用 https polkadot js org docs substrate rpc queryfeedetailsextrinsic bytes at bloc
  • Android NDK 在 CallObjectMethod 调用 getSystemService 中崩溃

    这是我问的另一个问题的后续 Android 从JNI获取MEID https stackoverflow com questions 11643498 android get meid from jni 我正在尝试获取 Android 手机
  • 访问Python列表中的元素

    我的答案列表如下 answers defaultdict
  • 在 R 中使用 tryCatch() 在循环中分配错误值

    我正在努力了解 R 中 tryCatch 的说明 我正在尝试捕获股票的收盘价 案例 2 好案例 TickersJuly2 独特的价格与股票代码关系 情况 1 坏情况 TickersJuly1 FABU 收盘价是 CETX 的重复 对于 FA
  • 以编程方式估计 Android 手机电池耗尽的时间

    因此有一些方法可以通过监听器获取当前的电池电量 但是 这些可以为您提供手机当前电池状态的值 但无法指示电池耗尽的速度有多快 慢 有什么方法可以估计电池耗尽之前的剩余时间 你能做任何知道电压是多少的事情吗 或者也许可以监控一段时间内电池消耗的
  • android recyclerview加载更多按钮[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有教程 示例包含带有 recyclerview 的加载更多按钮 我需要在 recyclerview
  • 控制鼠标键盘Golang?

    如何在操作系统 X11 级别上控制检索 设置鼠标位置并触发键盘事件 这与中的功能类似Java 中的机器人类 http docs oracle com javase 7 docs api java awt Robot html 我知道很可能不
  • 如何在AppBundle中添加视图?

    我正在尝试在 symfony3 中进行实验 我试图在谷歌上搜索它 但我没有找到他们明确的答案 这是 symfony 中的默认控制器 class DefaultController extends Controller Route name
  • Anaconda navigator 和 activate.bat 在 Windows 中出现空格问题

    最近 我突然开始遇到 Anaconda 提示符和使用 VS Code 启动 jupyter 实例的问题 存在 访问被拒绝 错误 但即使作为管理员 我也收到一个错误 该错误提示我路径中存在空格问题 我从来没有遇到过这个问题 并且 anacon
  • discord.py 中的 Cog 和 Extension 有什么区别?

    在discord py文档中 有 扩展 https discordpy readthedocs io en stable ext commands extensions html https discordpy readthedocs io