Coder Social home page Coder Social logo

g1331 / xiaomai-bot Goto Github PK

View Code? Open in Web Editor NEW
39.0 1.0 7.0 348.49 MB

以Graia Ariadne框架为基础的战地1QQ机器人

License: GNU General Public License v3.0

Python 96.48% HTML 3.42% Dockerfile 0.08% Batchfile 0.02%
ariadne bot graia-ariadne mirai mirai-console python qqbot

xiaomai-bot's People

Contributors

cloudsletter avatar g1331 avatar ra2-ifv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

xiaomai-bot's Issues

关于gateway_api中不能运作的异步方法的解决办法

佬你好,最近在抄你的gateway_api时,我想把所有网络请求都交给同个函数来处理,用到的也是aiohttp,然后在Authentication_getEnvIdViaAuthCode这个函数里也遇到了无法完成请求的情况,用postman测试后发现只要把该函数的header里的Content-Length项去掉即可正常发送请求,希望能帮到你。

Potential improvement for README?

It seems that the tutorial for docker uses "-v" option where the former path should be an absolute path on the host machine. Here you use /xiaomai-bot/... but users may not clone the repo into the root path. Maybe $(pwd) is a better choice.

Additionally you can tag certain commits for release so that we can checkout to those stable versions easily.

chatGPT取消分群

由于当前是每个群每个人的对话独立,在bot用户数量大的情况下会在gpt网页模式下建立非常多的新对话

  • 考虑删除分群只做个人对话独立,考虑一个群共用一个对话,或者做成模式切换 个人/群聊 模式
  • 考虑制作对话备份,为每个用户提供5个对话的备份信息,超出限制则建立新对话时默认删除最旧一条,可以查看自己的对话记
  • 记录api模式下用户消耗token,对话数等数据
  • gpt模式下除非主动触发建立新对话,否则使用历史对话持续

建议立刻升级到 Ariadne 到 0.9.10 或 0.10.2

您好,我是 GraiaProject 成员、Ariadne 贡献者 @ProgramRipper

由于 Ariadne 0.9.0 中的修改 对好友,群,群成员和版本等信息使用缓存 (@ProgramRipper) 引入的 bug,Ariadne 会缓存全部好友、群、群成员、消息和版本信息,并且不会过期,导致严重的内存泄露。

这一问题已在 GraiaProject/Ariadne#206GraiaProject/Ariadne@3ad9a61 (0.9 backport) 中修复,并随后发布了修复版本 Ariadne 0.10.2Ariadne 0.9.10

这一问题波及使用了 Ariadne 0.9.0~0.9.8, 0.10.0 的所有应用(只要接收消息就有内存泄露风险)。很遗憾,此仓库正受到此问题影响。您可以通过升级 Ariadne 来修复这一问题:

pip install --upgrade graia-ariadne
poetry update graia-ariadne
pdm update graia-ariadne
# pyproject.toml
## poetry
[tool.poetry.dependencies]
graia-ariadne = "^0.10.2"
### or backport...
graia-ariadne = "^0.9.10" 

## pdm
dependencies = [
    "graia-ariadne>=0.10.2",
    # ...
]
### or backport...
dependencies = [
    "graia-ariadne>=0.9.10",
    # ...
]
# requirements.txt
graia-ariadne==0.10.2
### or backport...
graia-ariadne==0.9.10

如果您的仓库中有 poetry.lock 或 pdm.lock 文件,也请不要忘记通过 poetry lockpdm lock 更新它们。

在此,我对此问题已造成的损失,以及因为此问题而耽误您的宝贵时间和精力而感到抱歉。如果您有更多问题,可以在此议题下回复,我将尽我所能提供解答、协助。

分群的Alias

创建一个指令前缀的注册器

  • 每个指令的默认前缀和触发词为插件metadata的基本前缀(可空:"")+twllight时需要设定的指令前缀组成
  • 每个指令由 module_name.(基本前缀+指令前缀) 作为key
  • 比如插件设定前缀为"-bf1",某指令再设定触发词为"武器",则最终"-bf1 武器"为指令触发词
    如插件设定前缀为"",则触发词为"武器"
  • 启动时自动检查是否有冲突指令即相同触发条件的指令别名,有则报错退出

增删改查

  • 各个群的指令别名存到alias.json内
{
  "alias": {
    "group_id": {
      "module_name": {
        "指令key": ["alias"]
      }
    }
  }
}
  • 分插件查询该插件群内的指令别名、基本前缀,修改指令别名时自动检查如果冲突则失败,删除指令别名,查询指定的别名

指令识别

  • twllghit内嵌get_alias函数来获取
  • 实时进行文件读取metadata和alais.json,组成alias_list然后返回UnionMatch(alias_list)

bf1服管 150白名单检测

当服务器开启时,通过开关控制服务器的150白名单,若不在白名单内的150将自动踢出

v3core重构

1.权限控制与处理

2.模块管理与开关

3.频率控制与冷却

4.数据库管理系统

5.多账户处理

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.