Giter VIP home page Giter VIP logo

pallas-bot's Introduction

LOGO

Pallas-Bot


我是来自米诺斯的祭司帕拉斯,会在罗德岛休息一段时间......

虽然这么说,我渴望以美酒和戏剧被招待,更渴望走向战场。


什么都,守护不了啊!

由于 QQ 官方针对协议库的围追堵截,不断更新加密方案,我们已无力继续维护此项目。
go-cqhttp 有完美的平替前,Pallas-Bot 将无限期停止维护,感谢大家一直以来的支持!

牛牛有什么功能?

牛牛的功能就是废话和复读。牛牛几乎所有的发言都是从群聊记录中学习而来的,并非作者硬编码写入的。群友们平时怎么聊,牛牛就会怎么回,可以认为是高级版的复读机

那为什么牛牛说了一些群里从来没说过的话?

牛牛有跨群功能,若超过 N 个群都有类似的发言,就会作为全局发言,在任何群都生效

你说牛牛没有功能,为什么有时候查询信息、或者一些其它指令,牛牛会回复?

从别的机器人(可能是其他群)那里学来的

你这机器人功能不错呀,现在牛牛也会了!

有时候没人说话,牛牛自己突然蹦出来几句话

哈,是主动发言功能!内容同样从群聊里学来的!

怎么教牛牛说话呢?

正常聊天即可,牛牛会自动学。

如果想强行教的话,可以这样:

—— 牛牛你好
—— 你好呀
—— 牛牛你好
—— 你好呀
—— 牛牛你好
—— 你好呀

如此重复 3 次以上,下一次再发送 “牛牛你好”,牛牛即会回复 “你好呀”

牛牛说了一些不合适的话,要怎么删除?

群管理员 回复 牛牛说的那句话 “不可以” 即可,同样的若超过 N 个群都禁止了这句话,就会作为全局禁止,在任何群都不发

牛牛的一些其他小功能

  • 牛牛喝酒:切换至 ChatRWKV 模型,由 AI 回复(只回复 at 及 牛牛 开头的内容)
  • 牛牛唱歌 <网易云歌曲 ID>:AI 牛牛翻唱!(人声提取 + 音色转换)
  • 牛牛轮盘 & 牛牛开枪:需要给牛牛管理员才能使用,试试你就知道是啥功能了.jpg
  • 随机修改自己的群名片为近期发言的人,夺舍!期望时间 8 小时一次

题外话

牛牛的说什么完全依赖于大家聊什么,希望大家不要故意教牛牛一些不好的东西。发现牛牛学了一些不合适的话及时帮忙删除。

大家一起教出更棒更聪明的牛牛!✿✿ヽ(°▽°)ノ✿

如何拥有一只自己的牛牛?

直接拉作者部署的牛牛进群

官方牛

请加 QQ群,在群公告的表格里挑一只你喜欢的牵走~

但请留意,我这里只加明日方舟相关的群聊;且如果发现群里有人故意教牛牛一些不好的话,我会全局拉黑这个群 + 邀请人!

自行部署

请参考 基础部署教程 & AI 功能部署教程

致谢

开源库

nonebot2: 跨平台 Python 异步聊天机器人框架
go-cqhttp: cqhttp的golang实现,轻量、原生跨平台.
nonebot-plugin-gocqhttp: 一款在NoneBot2中直接运行go-cqhttp的插件, 无需额外下载安装
jieba_fast: 高效的中文分词库
demucs: Code for the paper Hybrid Spectrogram and Waveform Source Separation
so-vits-svc: 基于vits与softvc的歌声音色转换模型
ChatRWKV: ChatRWKV is like ChatGPT but powered by RWKV (100% RNN) language model, and open source.
PaddleSpeech: Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword Spotting. Won NAACL2022 Best Demo Award.

贡献者

感谢各位大佬!

Contributors

QQ群

牛牛调教一群: 831322617 被腾讯封了 orz
牛牛调教一群: 765213099 又被封了(恼
牛牛调教四群: 717508273 。。。
牛牛调教五群:228620837
牛牛调教六群:865638357
开发者群: 716692626

打赏

请作者喝杯咖啡吧~ (请备注牛牛项目,感谢你的资瓷 ✿✿ヽ(°▽°)ノ✿)

sponsor sponsor

pallas-bot's People

Contributors

1150260034 avatar chengdaqi2023 avatar dachongyyc avatar github-inull avatar hchenzi avatar loveloliii avatar luzhuanz avatar lyzhelloworld avatar meteoricshower avatar misteo avatar mnixry avatar mole828 avatar mxemerson avatar ntskwk avatar realityerror avatar redmomn avatar tastror avatar tianzilei avatar tunglies avatar yuanyan3060 avatar zzyyyl 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  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  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  avatar  avatar  avatar  avatar  avatar

pallas-bot's Issues

安装sing环境时出现oserror错误

截图如下
image
之前配上过,昨天发现不能用了查日志发现找不到指定文件,但是那个路径下有那个文件,寻思重装一下试试,结果还装不上了

期望能够编译ARM64架构的镜像

通过docker-compose方式进行搭建时候发现没有该架构镜像。
本地编译报错,因为部分依赖的包没有这个架构的编译包。

能否让牛牛不复读群友发的图片

按教程搭了一个牛牛,放群里发现经常复读群友发的图,群管理员回复“不可以”回复得嫌烦了。。。请问能不能让牛牛直接忽略掉复读图片

解决挂代理时pyncm模块报错的问题

1.挂代理时无法登录

image
中的request = GetCurrentSession().request()增加参数
proxies = {'http': None, 'https': None},
如下图:
image
2.挂代理时无法下载音乐
同上,在
image
的WeapiCryptoRequest()函数加上
proxies = {'http': None, 'https': None},
如下图
image

机器人是被禁言就自己退群?

突然发现自己搭的机器人退群了、、、

) 被 最弱的深境螺旋玩家禁言了 600 秒.
11-11 00:57:46 [SUCCESS] nonebot | OneBot V11 | [notice.group_ban.ban]: {'time': 16, 'self_id': 12***********, 'post_type': 'notice', 'notice_type': 'group_ban', 'sub_type': 'ban', 'user_id': ***********, 'group_id': ***********, 'operator_id': ***********5, 'duration': 600}
11-11 00:57:46 [DEBUG] nonebot | Checking for matchers in priority 1...
11-11 00:57:46 [DEBUG] nonebot | Checking for matchers in priority 3...
11-11 00:57:46 [DEBUG] nonebot | Checking for matchers in priority 4...
11-11 00:57:46 [DEBUG] nonebot | Checking for matchers in priority 5...
11-11 00:57:46 [DEBUG] nonebot | Checking for matchers in priority 13...
11-11 00:57:46 [DEBUG] nonebot | Checking for matchers in priority 14...
11-11 00:57:46 [INFO] nonebot | Event will be handled by Matcher(type='notice', module=src.plugins.greeting)
11-11 00:57:46 [DEBUG] nonebot | Running Matcher(type='notice', module=src.plugins.greeting)
11-11 00:57:46 [DEBUG] nonebot | Running handler Dependent(call=handle_first_receive)
11-11 00:57:46 [DEBUG] nonebot | OneBot V11 | Calling API set_group_leave
11-11 00:57:46 [INFO] nonebot | Matcher(type='notice', module=src.plugins.greeting) running complete
11-11 00:57:46 [DEBUG] nonebot | Checking for matchers in priority 15...

主动发言功能增加禁止选项

牛牛的主动发言有时候会不明所以,希望这种时候能够回复“不可以”避免以后再次用同样的消息主动发言

无视群聊屏蔽的情况

我用牛牛的账号给群里的另一个机器人屏蔽了,但是貌似之后他还会和另一个机器人互动
第一张图是其他人的视角
20220714084653
第二张图是牛牛的视角
20220714084825

无法对被 replace_at 处理后的消息执行 ban 操作

replace_at ( #15 )处理后的消息 CQ 码被替换为纯文本,ban 方法中的逻辑

# 这种情况一般是有些 CQ 码,牛牛发送的时候,和被回复的时候,里面的内容不一样
if not ban_reply:
search = re.search(r'(\[CQ:[a-zA-z0-9-_.]+)',
ban_raw_message)
if search:
type_keyword = search.group(1)
for reply in reply_data:
cur_reply = reply['reply']
if type_keyword in cur_reply:
ban_reply = reply
break
无法处理这种情况。另外或许应该考虑在一些条件判断没有成功的地方打一些日志?

牛牛部署后不说话

不知道牛牛开发者有没有这个问题
我问了被开发者部署牛牛的那些人
他们说是一部署就可以开始学说话了
但是我家牛牛现在只会轮盘和唱歌
部署两三天了还是不会说话,更新了几个库也没反应,账号运行正常,不知道是不是正常现象

up is dog

Hello, I'm a developer from abroad. Is your project Healthy?

找不到名为 'nonebot.adapters.cqhttp'的module

我在安装好requirements里的内容后运行了它,但是遇到了这样的错误信息

natsukawa@VM-4-6-ubuntu:~/Pallas-Bot$ python3 -m nb_cli run
Traceback (most recent call last):
File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/natsukawa/.local/lib/python3.8/site-packages/nb_cli/main.py", line 4, in
main()
File "/home/natsukawa/.local/lib/python3.8/site-packages/click/core.py", line 1128, in call
return self.main(*args, **kwargs)
File "/home/natsukawa/.local/lib/python3.8/site-packages/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/home/natsukawa/.local/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/natsukawa/.local/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/natsukawa/.local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/home/natsukawa/.local/lib/python3.8/site-packages/nb_cli/commands/main.py", line 30, in run
run_bot(file, app)
File "/home/natsukawa/.local/lib/python3.8/site-packages/nb_cli/handlers/deploy.py", line 19, in run_bot
module = importlib.import_module(module_name)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/natsukawa/Pallas-Bot/./bot.py", line 5, in
from nonebot.adapters.cqhttp import Bot as CQHTTPBot
ModuleNotFoundError: No module named 'nonebot.adapters.cqhttp'

(非常抱歉,我不知道该如何在issues里插入图片)
我想可能是由于我没有正确填写config造成的,于是我尝试删除自带的config并使用go-cqhttp重新生成了一个新的再填写,可这似乎并没有什么作用。接着,我尝试使用nonebot2手册里的方法,也就是直接用 python bot.py 启动,但还是不起作用。

natsukawa@VM-4-6-ubuntu:~/Pallas-Bot$ python3 bot.py
Traceback (most recent call last):
File "bot.py", line 5, in
from nonebot.adapters.cqhttp import Bot as CQHTTPBot
ModuleNotFoundError: No module named 'nonebot.adapters.cqhttp'

可能是我太笨了,完全没有意识到自己究竟是在哪一步犯傻了。
请问你可以给我一些有关于如何解决这个问题的提示吗?

自学习功能的全新概率模型

序言

本文着重介绍了一种全新的概率模型,可以应用于带有自学习功能的QQ机器人。

概率基础

众所周知,各种情况的概率之和应为1,如果不为1需要进行归一化操作。本文中的所有概率均已归一化。

正常情况下,一个人看到一句话,并非一定要答复。所以原先三次重复必回答的模型是无法很好拟合现实情况的,因此应当留出至少一点概率不为零的不说话的可能。

由于一句话后面跟的另一句话重复的次数越多,发言概率越高,因此我们需要找到一种函数模型,即$y=f(x)$其中$x \rightarrow \infty$时$y \rightarrow 1$。

这里正好有这样一个模型,即$$f(x)=-\frac{1}{x}+1$$。

模型

需要注意的是,该模型在$x=0$时取值为负无穷,因此需要加上$x \geqslant 1$的条件。

当前一句话触发之后,后一句话应当说出的概率为:$p(x)=-\frac{1}{n}+1$,其中$n$为以前记录的前一句话后跟这句话出现的次数。

保持沉默的概率为:$$p(x')=1-\left(-\frac{1}{n}+1\right)=\frac{1}{n}$$。

对于仅出现过一次的话语,由于$p(x)$永远为0,因此不会触发。

出现两次的话,重复的概率为0.5。

如果认为该概率过高,可以考虑加一个系数$k$,使得$p(x)=k \left( -\frac{1}{n}+1 \right), 0 < k \leqslant 1$,$p(x')=1-k \left( -\frac{1}{n}+1 \right)=(1-k)+\frac{k}{n}, 0 < k \leqslant 1$。

带有多种选择的模型

上述模型有个问题,现实生活中一句话通常是有多个回答的。如何拟合这种情景呢?

答案是根据权重来决定各个概率的占比,并将保持沉默的概率相加。假设我们有三个事件:回复第一句话$x_1$、回复第二句话$x_2$以及保持沉默$x'$,并且两句话之前出现的次数分别为$n_1$和$n_2$,那么它们的概率分别应当为:

$$p(x_1)=\frac{n_1}{n_1+n_2}k \left( -\frac{1}{n_1}+1 \right), 0 < k \leqslant 1$$

$$p(x_2)=\frac{n_2}{n_1+n_2}k \left( -\frac{1}{n_2}+1 \right), 0 < k \leqslant 1$$

$$p(x')=\frac{n_1}{n_1+n_2}(1-p(x_1)) + \frac{n_2}{n_1+n_2}(1-p(x_2))$$

当我们有多达$m$条消息可选择时:

$$p(x_i)=\frac{n_i}{\sum_{j=1}^{m}n_j}k \left( -\frac{1}{n_i}+1 \right), 0 < k \leqslant 1$$

$$p(x')=\sum_{i=1}^{m}\frac{n_i}{\sum_{j=1}^{m}n_j}(1-p(x_i))$$

结语

本文提供了一种用于带有自学习功能的QQ机器人回复消息概率模型的新的设想。本文中的所有数学公式全部使用LaTeX格式存储,可以使用 https://latexeditor.lagrida.com/ 查看。

征集好玩的点子!

类似现在的随机复读这种,啥用没有,甚至有点烦,但是好玩的功能!

有想法即可,不用考虑能不能实现,复不复杂等问题!欢迎大家提供意见!!!

全力打造烦人屑 bot

新增功能:牛牛决斗

新增了牛牛决斗功能(其实很早就写了,但都是本地在跑)。

通过 牛牛决斗+@某个人 进行,初始概率为30%,逐渐增加,败者将会带上口球。具体看duel

口球效果:如果牛牛有管理员身份,口球者发言后会撤回,加上口球效果重新发出。具体效果看gagcontrol

如:
@被口球者,原话:”牛牛不要!“
口球效果后内容(由牛牛发出):”叼着口球的@被口球者 发出了含糊不清的声音: 牛...哈啊♡牛牛不要...“

关于牛牛的两个问题

添加的nonebot插件应该放在哪,是否需要额外配置
向牛牛发送入群申请,牛牛不会自动加群,如果想设置成自动加群应该怎么操作

安装requirement.txt中的依赖时报错

系统:Ubuntu Server 20.04 LTS 64bit

我是在腾讯云的服务器上部署的,输入python3 -m pip install -r requirements.txt后,开始很正常,但是到最后就报错了。

`error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [63 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/jieba_fast_functions_py3.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/jieba_fast_functions_py2.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/main.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/_compat.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/init.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/init.pyc -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/dict.txt -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/_compat.pyc -> build/lib.linux-x86_64-3.8/jieba_fast
creating build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_start.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/jieba_fast_functions_py3.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_emit.pyc -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_trans.p -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/jieba_fast_functions_py2.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_trans.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/init.pyc -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_start.p -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_start.pyc -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_trans.pyc -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_emit.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_emit.p -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/init.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
creating build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/textrank.py -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/idf.txt -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/tfidf.py -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/init.py -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/analyzer.py -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
creating build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_start.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_trans.p -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/char_state_tab.p -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_trans.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/char_state_tab.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_start.p -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_emit.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_emit.p -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/viterbi.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/init.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
creating build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_wrap_py2.i -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_wrap_py2_wrap.c -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_py3.py -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_py2.py -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_wrap_py3_wrap.c -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_wrap_py3.i -> build/lib.linux-x86_64-3.8/jieba_fast/source
running build_ext
building '_jieba_fast_functions_py3' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/jieba_fast
creating build/temp.linux-x86_64-3.8/jieba_fast/source
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c jieba_fast/source/jieba_fast_functions_wrap_py3_wrap.c -o build/temp.linux-x86_64-3.8/jieba_fast/source/jieba_fast_functions_wrap_py3_wrap.o
jieba_fast/source/jieba_fast_functions_wrap_py3_wrap.c:149:11: fatal error: Python.h: No such file or directory
149 | # include <Python.h>
| ^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for jieba-fast
Running setup.py clean for jieba-fast
Failed to build jieba-fast
Installing collected packages: jieba-fast, fake-useragent, appdirs, zipp, websockets, w3lib, uvloop, typing-extensions, tqdm, tomlkit, soupsieve, sniffio, python-dotenv, pypinyin, pymongo, multidict, lxml, loguru, httptools, h11, cssselect, certifi, asgiref, yarl, uvicorn, pyquery, pydantic, importlib-metadata, beautifulsoup4, anyio, watchgod, starlette, pyppeteer, bs4, requests-html, fastapi, nonebot2, nonebot-adapter-onebot
Running setup.py install for jieba-fast ... error
error: subprocess-exited-with-error

× Running setup.py install for jieba-fast did not run successfully.
│ exit code: 1
╰─> [63 lines of output]
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/jieba_fast_functions_py3.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/jieba_fast_functions_py2.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/main.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/_compat.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/init.py -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/init.pyc -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/dict.txt -> build/lib.linux-x86_64-3.8/jieba_fast
copying jieba_fast/_compat.pyc -> build/lib.linux-x86_64-3.8/jieba_fast
creating build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_start.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/jieba_fast_functions_py3.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_emit.pyc -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_trans.p -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/jieba_fast_functions_py2.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_trans.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/init.pyc -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_start.p -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_start.pyc -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_trans.pyc -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_emit.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/prob_emit.p -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
copying jieba_fast/finalseg/init.py -> build/lib.linux-x86_64-3.8/jieba_fast/finalseg
creating build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/textrank.py -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/idf.txt -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/tfidf.py -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/init.py -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
copying jieba_fast/analyse/analyzer.py -> build/lib.linux-x86_64-3.8/jieba_fast/analyse
creating build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_start.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_trans.p -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/char_state_tab.p -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_trans.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/char_state_tab.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_start.p -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_emit.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/prob_emit.p -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/viterbi.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
copying jieba_fast/posseg/init.py -> build/lib.linux-x86_64-3.8/jieba_fast/posseg
creating build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_wrap_py2.i -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_wrap_py2_wrap.c -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_py3.py -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_py2.py -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_wrap_py3_wrap.c -> build/lib.linux-x86_64-3.8/jieba_fast/source
copying jieba_fast/source/jieba_fast_functions_wrap_py3.i -> build/lib.linux-x86_64-3.8/jieba_fast/source
running build_ext
building '_jieba_fast_functions_py3' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/jieba_fast
creating build/temp.linux-x86_64-3.8/jieba_fast/source
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c jieba_fast/source/jieba_fast_functions_wrap_py3_wrap.c -o build/temp.linux-x86_64-3.8/jieba_fast/source/jieba_fast_functions_wrap_py3_wrap.o
jieba_fast/source/jieba_fast_functions_wrap_py3_wrap.c:149:11: fatal error: Python.h: No such file or directory
149 | # include <Python.h>
| ^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> jieba-fast

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.`

尝试忽略这些错误然后继续安装,最后运行nb run后(前面还有一堆报错):
image

该怎么办,尝试谷歌了很久也没有解决...

建议更换开发群群号

你们 Pallas 没有自己的群吗???
孩子快疯了!!!
打开群一看,这报错没见过啊,不对啊啥时候依赖这玩意了,一看目录,Pallas-Bot
救救孩子吧

玛丽你坏事做尽!
马上就到你家门口

建议管理员回复“不可以”后撤回消息

管理员(人)无法撤回管理员(牛牛)的消息,而群主不可能24小时都在线,这就导致了就算有管理看到牛牛复读了某些不良信息也只能束手无策,这种情况已经导致了两个二群和一个十群被封了(雾

__init__.py 中的一些 import 容易导致无法写单元测试的问题

比如 https://github.com/InvoluteHell/Pallas-Bot/blob/master/src/plugins/roulette/pseudorandom.py

如果直接写单元测试会执行 __init__.pyfrom src.common.config import BotConfig,里面会连接数据库。

参见:https://github.com/InvoluteHell/Pallas-Bot/blob/master/src/plugins/roulette/__init__.py#L9

可不可以把 src.common.config 的初始化代码放在某些函数里,需要的时候调用?

P.S. 需要访问某些属性的时候延迟加载如何?

建议将卡片类消息也纳入学习屏蔽

不知道为什么,Pallas就学习到卡片链接信息了。因为卡片链接是不可以被回复的,所以也没有办法禁止它发送这个内容。
暂时只能提醒群友不要触发这个回复
-4a0f0f5e7c28902a

[新特性] 图片信息发送概率可调

在人数多的群中牛牛学习大量表情包或图片,这在群内活跃时容易造成刷屏。
将图片发送概率作为一个可调参数,可一定程度降低刷屏。

ARM Linux 下无法使用docker部署

Docker拉取报错如下:
Using default tag: latest

latest: Pulling from misteo/pallas-bot
no matching manifest for linux/arm64/v8 in the manifest list entries

屏蔽特定用户

请问如何屏蔽群里特定用户的发言(机器人有冲突),我试着改了src/common/config/__init__.py文件下的_ban_cache这个变量,但是没有用,具体应该改动哪些地方呢

远程访问

我在vps上部署完以后,访问 <ip>:8080/go-cqhttp/

  • 显示:
    图片

  • 防火墙是打开的,8080 端口也没有其他程序占用:
    图片

请问一下支持远程访问吗

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.