Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于搜图、真寻、Bot的一切 #190

Open
mnixry opened this issue May 17, 2022 · 38 comments
Open

关于搜图、真寻、Bot的一切 #190

mnixry opened this issue May 17, 2022 · 38 comments

Comments

@mnixry
Copy link

mnixry commented May 17, 2022

自我介绍

我是真寻依赖的Bot开发框架NoneBot2的主要开发者之一,主要负责社区工作。真寻一直以来是NoneBot2社区的一款非常优秀的Bot项目,这次真寻能够受到来自广大开发者和用户的关注令我们受宠若惊。


Q&A

Q: 我从各种渠道听说这个Bot有搜图功能,请问它是怎么实现的?
A: 事实上不是我们实现的,我们只是负责调用SauceNAO提供的API并进行处理返回的数据。如果您觉得这个功能很好,欢迎给SauceNAO的开发者进行捐赠。同时,有很多的动漫图片搜索站点,也有很多在各个方面搜索功能非常优秀的站点,比如ascii2d、IqDB以及众所周知的E-Hentai

Q: 我该怎么部署这个Bot?
A: 看文档,如果按照文档指示仍然无从下手,那您可能需要先学习一些计算机基础知识

Q: 为什么删库?
A: 事实上,能够在QQ聊天平台上运作的非官方Bot,从严格意义上来讲都违反腾讯的用户条款(甚至有违反刑法第二百八十六条的风险)。同时作为关注焦点的搜图功能,在运作时可能会不可避免的接触一些大陆所不允许的限制级别内容,这也是某种程度上的风险。
而且从事实上来说,代码并没有删除。 条条大路通罗马,在你现在看到的GitHub这个平台上你就有很多种方法接触到新鲜的代码。同时我们恳请大家如果遇到有人试图以有偿形式部署或者销售真寻,请不要理睬。

Q: 我是否可以修改真寻的源代码?
A: 可以,但是它使用AGPL-3.0开源许可,这意味着你任何的修改都必须以同许可开源。同时,任何一位开发者,包括我们,都不会对代码运行造成的任何问题和损失提供担保。 这是开源精神的核心,希望大家能够共同遵守以打造一个更好的社区环境。

一个关于Bot的故事

程序员是一个非常讨厌重复化工作的群体。既然我们有聊天软件,那我们一定有能够自动化聊天软件行为的方法。
于是,各种的无头Bot客户端就诞生了,因为它是自动化由程序操作的,所以我们称它作无头(headless)

在很久以前,有个人开发了一款叫做“酷Q”的无头Bot客户端,它能够和QQ进行通信。
酷Q由易语言开发,并不开源,并且仅限Windows平台运行(事实上Linux可以通过Docker镜像套wine运行,但是非常的冗杂和麻烦)。如果需要发送图片等高级功能,还需要付费。
但是,因为酷Q优秀的插件系统设计,和大家共有的需求,酷Q的生态变得庞大。其中,包括一款叫做CQHTTP的插件。它提供了跨语言、跨进程、甚至跨机器的调用可能性。由于它的诞生,NoneBot等框架也相继诞生,酷Q社区一时变得无比火热。

但是,就和大家想的那样,一个故事,最终会有它的尾声。一款好的工具,它一定会是一把双刃剑。
通过编程式的操作聊天账号,同时给了非法用途以机会。在社区的蓬勃发展背后,黑色的影子也跟着膨胀。同样是一款无头Bot框架,叫做晨风,它的开发者被腾讯起诉,遭到了牢狱之灾。Bot开发界风声鹤唳,不断有框架停止或者退出开发。

最终,在2020年的八月一日,酷Q和我们说了再见。
在它的官网上,留下了这样一段话:

愿我们在更加开放的平行世界再次相遇。

然而。故事到这里还没有结束。如果故事结束了的话,我们就不会在这里相见了。

开源的星星之火终将燎原。
在酷Q发展的背后,由于它封闭付费,也有很多大佬在开发开源方案,包括mamoe/mirai、以及大家都知道的go-cqhttp。有了他们的不懈努力,我们现在能够不费吹灰之力,在几乎任何一台设备上运行一款开源自由的无头客户端。

同时,我们在这样一次波动之后,意识到依赖单一平台的Bot是狭隘的,我们能不能,推出一款跨越聊天软件之间鸿沟,和无头实现通信的机制?
答案是可以的。在通信协议上,CQHTTP从酷Q的躯壳中涅槃重生,变成了和某个具体无头实现无关的统一通信协议:OneBot。在框架上,你们现在看到的NoneBot2,以及Avilla、Koishi.js、OilvOS、WeChaty这些其他框架,都在努力以自己的方式做出尝试。

这个故事,最终会走向何处?它的命运,将交给你们。

@MuelNova
Copy link

很好置顶解释,我的牛牛变的困难。

@Kotoki1337
Copy link

this should be pinned

@HibiKier HibiKier pinned this issue May 17, 2022
@DaiShengSheng
Copy link

正确的,中肯的,富有预见性的

@PoeraWork
Copy link

PoeraWork commented May 17, 2022

支持,同时希望凑热闹的各位在部署使用bot的时候一定要谨记开源准则。要注意不违反相关法律,涩涩虽好,但不要贪多哦。
另外希望各位在部署bot时学习提问的智慧

@Qiuyebai-1226
Copy link

部署真寻前你需要做的
1、一台长期运行的电脑or服务器
2、能够阅读文档的能力,需要一点基础知识,这将决定你能不能正确部署
3、如果你想使用搜图or搜xx功能,可能会需要使用魔法(×
4、、、、、

@MuelNova
Copy link

我们真诚的欢迎因这次偶然的热度而发现真寻以及Nonebot2等其他相关项目的开发者 / 使用者。

如果我们的项目能够帮助你完成一些工作,收获一份快乐,这对于开源社区的我们来说都是莫大的鼓励。

同时,我们也希望各位有能之士能够为项目的构建添砖加瓦,因为有了你们,真寻和NB2以及整个开源社区才能变得更加美好。

@HibiKier HibiKier unpinned this issue May 17, 2022
@MueoMo
Copy link

MueoMo commented May 17, 2022

友善的,可靠的,删库跑路的

@mnixry
Copy link
Author

mnixry commented May 17, 2022

把 关于Bot的故事 这一节写完了

大概梳理了以下Bot发展到现在我所知道的历史,欢迎大家批评斧正。

@HibiKier HibiKier pinned this issue May 17, 2022
@MingxuanGame
Copy link
Contributor

MingxuanGame commented May 17, 2022

开源精神需要我们一同维护

简单说一下我玩 bot 的故事吧


2020年

我接触了酷Q框架(其实并不是接触,无非是管理服务器的时候发现的),但是我并未接触很久,8月2日,酷Q框架暴死

image

后来我并未接触机器人,到了21年初

2021年

我接触了 mirai,试着写了一个简单的 mc 在线获取(其实是 python 结合体,python 获取数据,插件读取文件),但是 mirai 我也就止步于此了(因为不会)

5月,我在一个原神群看到了 PaimonBot 使用了 nonebot2,我才发现原来 python 也可以写机器人(这时我还是菜鸡,异步根本不会),但随着学业繁忙以及对机器人提不起兴趣,我在6月以后就没有碰过机器人了

2022 年

1月,我重新拾起了 QQ 机器人的兴趣,开始协助编写(例如 GenshinUID 等)插件,后来逐渐深入。2月开始研究 nonebot2 单元测试,但这时我碰壁了,时常遇到错误,于是我短期放弃后,于4月重新研究,总结经验后编写了文档,这也算是我经验成长的一部分吧

后来我开始接触 QQ 协议库 CAI ,开始尝试编写 go-cqhttp 这样的 OneBot 实现,我的技术也在逐渐提高,也遇到了很多有趣的开发者,比如 @yanyongyu ,为我研究 nonebot 和 CAI 予以了协助,在此一并感谢

关于这个事件,我的看法

早上聊天记录出现的时候,群里的大佬指出是搜图插件,但是到了中午,插件的来源 真寻 被发掘出来,6个小时涨了 600+ star

群里的人都震惊了

但是我并不认为这是好事,这可能会招来无辜谩骂甚至阴谋论

image

正如 @mnixry 所说,QQ 机器人本身就所处违法边缘,我也不想让酷Q的悲剧重演

所以真寻 润了

我的评价就这些


开源的关键在于“开放源代码”(open source),而不只是“公开源代码”(public source)。“开放”的意思是说,首先,社区是开放的,任何人都可以参与到社区里来,开发各式各样的周边项目,其次,这些项目本身也是开放的,从项目的一开始就以开源的方式进行,作者在 GitHub 上公开 push 代码,同时也随时可接受别人的 pull request。

所有项目的开发者,都是自发地来参与开发,而不是为了钱或是被迫的。每个人都是出于自身的兴趣,选择从头开发或者参与社区中的已有项目,没有人需要被安排“你这周做什么,下个月做什么”,也没有人期待从项目中获得金钱收益。大家主动从社区中发现需要修复的 bug、需要补充的功能,而不是被动地做自己不愿意做的事。

—— richardchien (https://stdrc.cc/post/2021/12/19/about-open-source)

@lhhxxxxx
Copy link

开源精神需要我们一同维护

简单说一下我玩 bot 的故事吧

2020年

我接触了酷Q框架(其实并不是接触,无非是管理服务器的时候发现的),但是我并未接触很久,8月2日,酷Q框架暴死

image

后来我并未接触机器人,到了21年初

2021年

我接触了 mirai,试着写了一个简单的 mc 在线获取(其实是 python 结合体,python 获取数据,插件读取文件),但是 mirai 我也就止步于此了(因为不会)

5月,我在一个原神群看到了 PaimonBot 使用了 nonebot2,我才发现原来 python 也可以写机器人(这时我还是菜鸡,异步根本不会),但随着学业繁忙以及兴趣,我在6月以后就没有碰过机器人了

2022 年

1月,我重新拾起了 QQ 机器人的兴趣,开始协助编写(例如 GenshinUID)后来逐渐深入。2月开始研究 nonebot2 单元测试,但这时我碰壁了,时常遇到错误,于是我短期放弃后,与4月重新研究,总结经验后编写了文档,这也算是我经验成长的一部分吧

后来我开始接触 QQ 协议库 CAI ,开始尝试编写 go-cqhttp 这样的 OneBot 实现,我的技术也在逐渐提高,也遇到了很多有趣的开发者,比如 @yanyongyu ,为我研究 nonebot 和 CAI 予以了协助,在此一并感谢

关于这个事件,我的看法

早上聊天记录出现的时候,群里的大佬指出是搜图插件,但是到了中午,插件的来源 真寻 被发掘出来,6个小时涨了 600+ star

群里的人都震惊了

但是我并不认为这是好事,这可能会招来无辜谩骂甚至阴谋论

image

正如 @mnixry 所说,QQ 机器人本身就所处违法边缘,我也不想让酷Q的悲剧重演

所以真寻 润了

我的评价就这些

Tashikani, gocq pure pure is on the edge of send.

@180652157
Copy link

呜呜呜,还是来晚了啊

@180652157
Copy link

这个网站怎么改头像啊

@Nanosk07
Copy link

真的run到金三角了吗

@180652157
Copy link

180652157 commented May 17, 2022 via email

@yzyyz1387
Copy link
Contributor

啊啊啊 嗯嗯嗯 阿阿阿阿阿阿

@Wecvcd
Copy link

Wecvcd commented May 17, 2022

一键部署的没有用该怎么办?

@Nanosk07
Copy link

呜呜呜,还是来晚了啊

看看main分支 东西还在的

@MTmin
Copy link

MTmin commented May 17, 2022

没有什么恶意,但是酷Q好像是易语言...

@bakashigure
Copy link

好耶 mix贴贴

@MingxuanGame
Copy link
Contributor

无意义的留言请不要在此评论

这会给关系这个 issue 的所有人发送邮件

很显然,这是垃圾邮件,因为并未对本 issue 有积极意义

@SSSpuerGirl
Copy link

请问部署完成了但是插件比如搜图,搜番插件调用异常,现在还能使用嘛

@j1g5awi
Copy link

j1g5awi commented May 17, 2022

在「酷 Q」出现之前,其实还有 pandolia/qqbot 这种基于 WebQQ 协议的机器人,可惜后来腾讯直接关闭了 SmartQQ。

当然,这与 OneBot 无关,但至少是 QQ 机器人更早的一段历史。

@mnixry
Copy link
Author

mnixry commented May 17, 2022

没有什么恶意,但是酷Q好像是易语言...

似乎有过一段时间是易,但是我开始接触的时候就是C++了。
它能够使用易语言开发插件也是它能得到庞大社区的原因之一

@PadorFelice
Copy link

当今天真寻bot火起来的时候,我还在一脸懵逼的状态下,随后才了解到,火起来的原因是可以搜色图。(其实很多机器人也有这个功能)大量的用户涌入github希望可以下载真寻bot,仅仅是为了搜色图(连py都不会的也来了,什么鬼怪都有),要知道github开源的理由不是色图,是让你学习使用的。因色图而不是学习大量涌入的跟风反而会导致一些“阴谋论”的出现
168824174-0c740273-cac6-4645-938d-f691023032eb
这可不是什么好事情,前几年火爆的酷q现在已经只剩下灰了,跟风的行为反倒会加速这个过程(和@mnixry 说的一样,QQ机器人本身就在违法边缘)希望现在新来的要明白一个道理:牢记开源精神,你是为了学习技术而来,而不是为了几张色图。要色图去那些网站岂不是更舒服?也希望这次事件能够平平安安的过去,我们也能写出更实用的程序喵~

@SonderXiaoming
Copy link

好家伙,作为同行慕名而来
起初我还奇怪为什么突然几十个群at我叫我加功能
我当时还很生气,就一普通搜图,好早之前就有
(最近号又被封了,可能是这个太火了)
希望大佬能继续产出更好的代码
一起交流学习

@Fjaxzhy
Copy link

Fjaxzhy commented May 17, 2022

膜下mix佬(跑)

@ijovi23
Copy link

ijovi23 commented May 17, 2022

@shiodd
Copy link

shiodd commented May 18, 2022

正确的

@CelicaEX
Copy link

我已经学废怎么部署go-cqhttp并在ubuntu下解决QQ扫码登录时提示登录环境异常无法登录的问题,结果你却跑路啦啦啦啦啦啦

@h265642327
Copy link

很幸运被群友艾特认识了真寻,也很快在服务器上部署了真寻,接下来会阅读开发文档,了解统一插件标准,默默为真寻努力,加油,bot社区的变好需要在座的每一个人付出努力

@MTmin
Copy link

MTmin commented May 18, 2022

没有什么恶意,但是酷Q好像是易语言……

好像有一段时间很容易,但是我开始接触的时候就是 C++ 了。 原因它使用易语言开发也有可能导致社区的一种情况

只是那个时候有c++的sdk,但是酷Q大部分主体是易语言

@mnixry
Copy link
Author

mnixry commented May 18, 2022

只是那个时候有c++的sdk,但是酷Q大部分主体是易语言

@MTmin 确实是这样,我记错了

@qingzinai
Copy link

opencv好像很难下下来还需要单独下

@MingxuanGame
Copy link
Contributor

opencv好像很难下下来还需要单独下

不要在此 issue 提问

opencv 在 Windows 的问题可以参考 #373

@qingzinai
Copy link

opencv 好难下下来还需要单独下

不要在这个问题上提问

opencv 在 Windows 的问题可以参考#373
我并不是提问只是吐槽下部署遇到的问题,现在已经跑起来了,就是不知道什么时候群能重新开放呢

@KoishiMoe
Copy link

前几天也在群里看见了介绍真寻的那个聊天记录,因为自己之前也做过类似功能,所以没有留意。今天想起来借 (chao)(xi) 一下,发现居然跑路了,还是挺意外的……

在一些国内社区也经常见到诸如“作者大大不要开源”的论调,有时候也挺感慨的……不知道以后国内的开源环境是会变好,还是继续往下滑……

我自己也在维护着一个小的bot项目,虽然一直没有提交到商店所以没什么关注,不过多少还是能理解真寻的开发者们的一些难处的……不知道真寻以后是会继续像现在这样继续地下工作,还是真的跑路;不过不管怎样,感谢大大们的不懈努力,祝好(o゜▽゜)o☆

@PadorFelice
Copy link

PadorFelice commented Jun 23, 2022 via email

1 similar comment
@PadorFelice
Copy link

PadorFelice commented Oct 11, 2022 via email

@HibiKier HibiKier unpinned this issue Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests