Skip to content

OldDemonKing/WFBot

 
 

Repository files navigation

WFBot


这是一个可进行多种游戏内任务通知以及查询的 Warframe 机器人.
此项目使用 AGPL 协议授权. 如果你修改了源代码并应用到了机器人上, 请将其开源.
我们不提倡任何商业用途, 如果需要, 请联系我们.
基于 Newbe.Mahua.Framework 开发.

MONEY --by @Lasm_Gratel
骗钱赞助网址: 爱发电
您的赞助会用来维持公用机器人,也能推动我继续维护本插件.

本插件附带自动更新.
最新的插件 会通过 自动更新 部署到 自动更新版本的机器人 上, 如果我手滑引爆了所有机器人, 请不要慌张.
如果真的全爆了, 没关系 因为我的机器人也爆了.
很快 GitHub Release 上将会上传正确的版本 手动更新即可.
此处记录引爆次数: *4

目前有一个由我维护, 暂时稳定的机器人, 现在可以直接邀请入群 QQ: 2504645673
↑ 此公用机器人已经被永久封号,近期可能不会恢复了...有需求的请自行部署.
用户请务必添加 QQ 群: 878527767
目前不建议使用我部署的机器人! 负荷过大导致经常失效! 处在后面位置的群收到通知的速度会很慢!
自己按照下面的说明部署可以享受完全体

如何部署

如果你在部署过程中遇到了问题, 请先查看下面的 FAQ. 如果还是无法解决, 可以添加上面的个人 QQ 群或者使用 GitHub Issues.

部署 FAQ (常见问题解答)

第一步: 选择以下几种 QQ 机器人平台

酷 Q 平台 需要启用开发者模式才能看到本插件 (感谢来自一位用户的提醒), 具体启用方法参见 FAQ.
我们建议你将你选择的机器人放在一台 24 小时运行的电脑/服务器上.

第二步: 安装插件文件

从 GitHub Release / AppVeyor (推荐)

  1. 下载 .NET Framework 4.6.2 并安装. 经过用户反馈, 目前插件版本仅 .NET Framework 4.7.1 及以上版本可用, 对你的不便请谅解, 我们将很(gu)快(gu)修复这个问题. (Windows 10 最新版自带)
  2. GitHub Release / AppVeyor 选择对应的平台并下载, 解压到机器人根目录.
  3. 享受这个插件的的快感吧!

或者: 自己编译 (特殊需求) (不推荐)

如果你不需要修改代码, 我们强烈建议你从上面下载.
我们强烈建议在 Windows 平台下编译这个项目.
如果你使用非官方版 我们将不会解答除了代码结构和原理之外的其他问题.

  1. 安装 Visual Studio 2019 (由于某个人的偷懒 不支持 VS2017.), 以及 .NET Framework 4.6.2 SDK.

  2. 下载这个仓库, 使用 TRKS.WF.QQBot\build.bat 来生成一份插件.

     git clone https://github.com/TRKS-Team/WFBot.git
     ./WFBot/TRKS.WF.QQBot/build.bat
  3. 将生成的所有 TRKS.WF.QQBot\bin\[对应 QQ 平台] 文件夹内的所有文件拖入机器人根目录.

第三步: 自定义

可以在插件设置内干一些奇怪的事情.
可自定义的内容如下:

  • 修改群通知功能所用的口令 (默认为 7 个 *)
  • 是否需要前导/来使用命令 (默认需要)
  • 包含 哪些奖励的入侵任务 需要通知到群内 (默认参见设置)
  • 用于接收报错的 QQ 号 (调试使用, 建议留空)
  • 是否自动同意 别人邀请机器人入群 (无需群内管理) 和 自主申请入群 (需群内管理)
  • WFA 授权的 ClientIdClientSecret (非必须, 见下)
  • 是否使用第三方词库 和 中转后的 WarframeMarket 接口 (需 WFA 授权)

可以使用的功能如下:

  • 对所有 启用了通知功能 的群发送一条通知

启用 WFA 授权 (非必须)

设置内填入从云之幻处授权的 ClientIdClientSecret 即可启用
如果你不知道这俩是干嘛的, 就别瞎填, 因为我的用户创造力都好强啊

不启用授权不影响基本功能

WM 查询 可使用中转过后的服务器 速度大概更高
紫卡市场 使用 必须 启用 WFA 授权

授权获取 请查看 云之幻的 API 文档


如何使用

群内命令

设置内可以更改命令前无需斜杠.

  • 午夜电波: /午夜电波 每周/每日/即将过期 的挑战.
  • 机器人状态: /机器人状态 机器人的运行状态.
  • 警报: /警报 当前的所有警报.

    新警报也会自动发送到启用了通知功能的群.

  • 入侵: /入侵 当前的所有入侵.

    新入侵也会自动发送到启用了通知功能的群.

  • 突击: /突击 当前的所有突击.
  • 平原时间: /平原 地球平原 现在的时间 和 奥布山谷 (金星平原) 现在的温度.
  • 活动: /活动 目前的所有活动
  • 虚空商人: /虚空商人 (或奸商) 奸商的状态.

    如果虚空商人已经抵达将会输出所有的商品和价格, 长度较长.

  • WarframeMarket: /查询 [物品名称]
    • 目前模糊匹配功能十分强大,无需强制按照格式
    • 查询未开紫卡请输入: 手枪未开紫卡
  • 紫卡市场: /紫卡 [武器名称]

    数据来自 WFA 紫卡市场

  • 地球赏金: /地球赏金 [第几个(可选)] 地球平原的 全部/单一 赏金任务.
  • 金星赏金: /金星赏金 [第几个(可选)] 金星平原的 全部/单一 赏金任务.
  • 裂隙: /裂隙 全部裂隙.
  • 遗物: /遗物 [关键词] (eg. 后纪 s3, 前纪 B3) 所有与关键词有关的遗物.
  • 翻译: /遗物 [关键词] (eg. 犀牛 prime, 致残突击) 中 => 英 或 英 => 中
  • 小小黑: /小小黑 来查询目前追随者的信息.

    仅限此活动激活时可以使用

另外还有一些不影响大局的调试命令和命令别名, 可以自己在代码中 (私聊/群聊) 查阅.

私聊命令

请不要把七个星号(默认口令)替换为群号.

  • 用于启用群通知: 添加群 [口令] [群号]
    默认为: 添加群 ******* 群号
  • 用于禁用群通知: 删除群 [口令] [群号]
    默认为: 删除群 ******* 群号

其他东西

直接邀请机器人机器人就会同意. (可修改配置)
默认口令: ******* (对没错就是七个星号, 有人猜得出我玩了什么梗吗)


用到的开源库

名字 开源协议 用来干嘛
Autofac MIT Mahua 依赖
MediatR Apache-2.0 Mahua 依赖
MessagePack MIT Mahua 依赖
Refit MIT Mahua 依赖
Newbe.Mahua MIT QQ 机器人框架
Humanizer MIT 将时间转为中国人可读文字
Newtonsoft.Json MIT 比较可靠的 Json 库
Costura MIT 集成引用文件
Fody MIT Costura 依赖
Fastenshtein MIT 字符串相似度比较
TextMessageCore WTFPL 我写的我写的!命令库

代码部分

代码注释极少... 并且大部分都是一些瞎记的.
我不写注释是因为: 这代码这么难写 那他应该也难读
如果发现 Bug 或者你有好的想法可以在GitHub Issue里直接提出, 我会尽量去修改和实现.
特别鸣谢 @Cyl18

Cyl18 是我雇佣的一个劳工
他每天坐在电脑前 看到我 Commit 的时候 他就戳一下 build.bat
然后将插件文件打包 上传到 GitHub 上
可怜的 Cyl18 每天要做这些工作维持生活

Cyl18 又多了好几份工作
每天 24 小时他都要坐在电脑面前
看着 Warframe 游戏内的信息
如果有新的 他就发到群里
如果群里有人调用机器人 他就手动把信息发过去

贡献者列表 [排名不分先后]

  • 代码贡献:

    TheRealKamisama 项目发起人 主要开发者 文档撰写 问题回答 骗钱
    Cyl18 项目维护 代码修改 文档修改 苦力 装逼
    qiutong123 提供了翻译功能的代码 (PR)

  • 问题贡献: wosiwq Aujin JJins mengpf
  • 捐助者 (真惨): KONYCN Trinitatem 爱发电用户_pPYQ wosiwq 琪露诺 爱发电用户_Ymhw SM_Chicov Flashbang233 果汁 DreaM1ku 780712 苟 Cy 君莫笑 Neptune 老腊肉 爱发电用户_mQps

Packages

No packages published

Languages

  • C# 93.6%
  • PowerShell 6.1%
  • Batchfile 0.3%