Awesome
<div align="center">
> English < | 简体中文
</div>Related Projects
<table> <tr> <td><a href="https://github.com/LagrangeDev/Lagrange.Core">Lagrange.Core</a></td> <td>NTQQ Protocol Implementation(👈Here</td> </tr> <tr> <td><a href="https://github.com/whitechi73/OpenShamrock">OpenShamrock</a></td> <td>Based on Xposed, OneBot Bot Framework</td> </tr> <tr> <td><a href="https://github.com/chrononeko/chronocat">Chronocat</a></td> <td>Based on Electron, modular Satori Bot Framework</td> </tr> </table>Document
Out of Active Feature Requesting
Lagrange.Core has completed nearly all the function and task scheduled by Linwenxuan05, so mostly enhance to the library would be concentrated to the repo for next.
Feature request would be accepted but implemented with a long duration.
The new function of NTQQ supported in following versions would be added as well.
Disclaimer
The Lagrange.Core project, including its developers, contributors, and affiliated individuals or entities, hereby explicitly disclaim any association with, support for, or endorsement of any form of illegal behavior. This disclaimer extends to any use or application of the Lagrange.Core project that may be contrary to local, national, or international laws, regulations, or ethical guidelines.
Lagrange.Core is an open-source software project designed to facilitate lawful and ethical applications in its intended use cases. It is the responsibility of each user to ensure that their usage of Lagrange.Core complies with all applicable laws and regulations in their jurisdiction.
The developers and contributors of Lagrange.Core assume no liability whatsoever for any actions taken by users that violate the law or engage in any form of illicit activity. Users are solely responsible for their own actions and any consequences that may arise from the use of Lagrange.Core.
Furthermore, any discussions, suggestions, or guidance provided by the Lagrange.Core community, including its developers, contributors, and users, should not be interpreted as legal advice. It is strongly recommended that users seek independent legal counsel to understand the legal implications of their actions and ensure compliance with the relevant laws and regulations.
By using or accessing Lagrange.Core, the user acknowledges and agrees to release the developers, contributors, and affiliated individuals or entities from any and all liability arising from the use or misuse of the project, including any legal consequences incurred as a result of their actions.
Please use Lagrange.Core responsibly and in accordance with the law.
SignServer
https://sign.lagrangecore.org/api/sign
Thanks for 外国热心网友 for Provision of Azure Servlet
** Built-in SignServer is now provided, Enjoy! **
Features List
Protocol | Support | Login | Support | Messages | Support | Operations | Support | Events | Support |
---|---|---|---|---|---|---|---|---|---|
Windows | 🟢 | QrCode | 🟢 | Images | 🟢 | Poke | 🟢 | Captcha | 🟢 |
macOS | 🟢 | Password | 🟢 | Text / At | 🟢 | Recall | 🟢 | BotOnline | 🟢 |
Linux | 🟢 | EasyLogin | 🟢 | Records | 🟢 | Leave Group | 🟢 | BotOffline | 🟢 |
UnusalDevice<br/>Password | 🔴 | QFace | 🟢 | Set Special Title | 🟢 | Message | 🟢 | ||
UnusalDevice<br/>Easy | 🟢 | Json | 🟢 | Kick Member | 🟢 | Poke | 🟢 | ||
NewDeviceVerify | 🟢 | Xml | 🟢 | Mute Member | 🟢 | MessageRecall | 🟢 | ||
Forward | 🟢 | Set Admin | 🟢 | GroupMemberDecrease | 🟢 | ||||
Video | 🟢 | Friend Request | 🟢 | GroupMemberIncrease | 🟢 | ||||
Reply | 🟢 | Group Request | 🟢 | GroupPromoteAdmin | 🟢 | ||||
File | 🟢 | 🔴 | GroupInvite | 🟢 | |||||
Poke | 🟢 | Client Key | 🟢 | GroupRequestJoin | 🟢 | ||||
LightApp | 🟢 | Cookies | 🟢 | FriendRequest | 🟢 | ||||
Send Message | 🟢 | 🔴 | |||||||
🔴 |
Lagrange.OneBot
<Details> <Summary>Message Segement</Summary>The Binary for development could be found in Actions Artifacts
Message Segement | Support |
---|---|
Text | 🟢 |
Face | 🟢 |
Image | 🟢 |
Record | 🟢 |
Video | 🟢 |
At | 🟢 |
Rps | 🟢 |
Dice | 🟢 |
Shake | 🔴 |
Poke | 🟢 |
Anonymous | 🔴 |
Share | 🔴 |
Contact | 🔴 |
Location | 🟢 |
Music | 🟢 |
Reply | 🟢 |
Forward | 🟢 |
Node | 🟢 |
Xml | 🔴 |
Json | 🟢 |
PostType | EventName | Support |
---|---|---|
Message | Private Message | 🟢 |
Message | Group Message | 🟢 |
Notice | Group File Upload | 🟢 |
Notice | Group Admin Change | 🟢 |
Notice | Group Member Decrease | 🟢 |
Notice | Group Member Increase | 🟢 |
Notice | Group Mute | 🟢 |
Notice | Friend Add | 🟢 |
Notice | Group Recall Message | 🟢 |
Notice | Friend Recall Message | 🟢 |
Notice | Group Poke | 🟢 |
Notice | Group red envelope luck king | 🔴 |
Notice | Group Member Honor Changed | 🔴 |
Request | Add Friend Request | 🟢 |
Request | Group Request/Invitations | 🟢 |
Meta | LifeCycle | 🟢 |
Meta | Heartbeat | 🟢 |
CommunicationType | Support |
---|---|
Http | 🟢 |
Http-Post | 🟢 |
ForwardWebSocket | 🟢 |
ReverseWebSocket | 🟢 |
appsettings.json
Example
As the Password is empty here, this indicates that QRCode login is used
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"SignServerUrl": "",
"Account": {
"Uin": 0,
"Password": "",
"Protocol": "Linux",
"AutoReconnect": true,
"GetOptimumServer": true
},
"Message": {
"IgnoreSelf": true,
"StringPost": false
},
"QrCode": {
"ConsoleCompatibilityMode": false
},
"Implementations": [
{
"Type": "ReverseWebSocket",
"Host": "127.0.0.1",
"Port": 8080,
"Suffix": "/onebot/v11/ws",
"ReconnectInterval": 5000,
"HeartBeatInterval": 5000,
"HeartBeatEnable": true,
"AccessToken": ""
},
{
"Type": "ForwardWebSocket",
"Host": "*",
"Port": 8081,
"HeartBeatInterval": 5000,
"HeartBeatEnable": true,
"AccessToken": ""
},
{
"Type": "HttpPost",
"Host": "127.0.0.1",
"Port": 8082,
"Suffix": "/",
"HeartBeatInterval": 5000,
"HeartBeatEnable": true,
"AccessToken": ""
},
{
"Type": "Http",
"Host": "*",
"Port": 8083,
"AccessToken": ""
}
]
}
[!WARNING] Currently,
ForwardWebSocket
andHttp
are implemented based onHttpListener
, which has the following problems:
On Linux, the
Host
header of an Http request must match the value ofPrefix
unless it is+
or*
, so configure theHost
ofForwardWebSocket
andHttp
to be the domain name or IP you are using to access it.On Windows, the
HttpListener
is based on thehttp.sys
implementation, so you need to registerurlacl
before using it. see netsh. You can also startLagrange.OneBot
using the administrator, at which pointHttpListener
will automatically register the requiredurlacl
.
NOTICE BEFORE LOGIN
- The NewDeviceLogin feature has not been implemented yet. It is recommended to use QRCode login for now.
- Currently, only the signature server implementation for Linux protocol is available. It is recommended to use the Linux protocol.
Known Problem
[ ] Signature Service is currently not established, so the login tend to be failed and return code may be 45, you can establish your own sign service by rewriting theSignature
static class.
Thanks KonataDev/TheSnowfield for Provision of Signature API
Signature API is now not provided, you may need to find it somewhere and inherit SignProvider
class for CustomSignProvider
in BotConfig
-
Built-in SignServer is now provided, Enjoy! -
Signature of Windows and macOS is missing, you need to figure out by your self