• Stars
    star
    1,189
  • Rank 37,747 (Top 0.8 %)
  • Language
    C#
  • License
    GNU General Publi...
  • Created 12 months ago
  • Updated 30 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Implementation of NTQQ Protocol, with Pure C#, Derived from Konata.Core

Related Projects

Lagrange.Core NTQQ Protocol Implementation๏ผˆ๐Ÿ‘ˆHere
OpenShamrock Based on Xposed, OneBot Bot Framework
Chronocat Based on Electron, modular Satori Bot Framework

Document

Lagrange.Doc

Docker guide

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.

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
Password
๐Ÿ”ด QFace ๐ŸŸข Set Special Title ๐ŸŸข Message ๐ŸŸข
UnusalDevice
Easy
๐ŸŸข Json ๐ŸŸข Kick Member ๐ŸŸข Poke ๐Ÿ”ด
NewDeviceVerify ๐ŸŸข Xml ๐ŸŸข Mute Member ๐ŸŸข MessageRecall ๐ŸŸข
Forward ๐ŸŸข Set Admin ๐ŸŸข GroupMemberDecrease ๐ŸŸข
Video ๐ŸŸข Friend Request ๐ŸŸข GroupMemberIncrease ๐ŸŸข
Reply ๐ŸŸข Group Request ๐ŸŸข GroupPromoteAdmin ๐ŸŸข
File ๐ŸŸข Voice Call ๐Ÿ”ด GroupInvite ๐ŸŸข
Poke ๐ŸŸข Client Key ๐ŸŸข GroupRequestJoin ๐ŸŸข
LightApp ๐ŸŸข Cookies ๐ŸŸข FriendRequest ๐ŸŸข
Send Message ๐ŸŸข FriendTyping ๐Ÿ”ด
FriendVoiceCall ๐Ÿ”ด

Lagrange.OneBot

The Binary for development could be found in Actions Artifacts

Message Segement
Message Segement Support
Text ๐ŸŸข
Face ๐ŸŸข
Image ๐ŸŸข
Record ๐ŸŸข
Video ๐ŸŸข
At ๐ŸŸข
Rps ๐ŸŸข
Dice ๐ŸŸข
Shake ๐Ÿ”ด
Poke ๐ŸŸข
Anonymous ๐Ÿ”ด
Share ๐Ÿ”ด
Contact ๐Ÿ”ด
Location ๐ŸŸข
Music ๐Ÿ”ด
Reply ๐ŸŸข
Forward ๐ŸŸข
Node ๐ŸŸข
Xml ๐Ÿ”ด
Json ๐ŸŸข
API
API Support
/send_private_msg ๐ŸŸข
/send_group_msg ๐ŸŸข
/send_msg ๐ŸŸข
/delete_msg ๐ŸŸข
/get_msg ๐ŸŸข
/get_forward_msg ๐ŸŸข
/send_like ๐ŸŸข
/set_group_kick ๐ŸŸข
/set_group_ban ๐ŸŸข
/set_group_anonymous_ban ๐Ÿ”ด
/set_group_whole_ban ๐ŸŸข
/set_group_admin ๐ŸŸข
/set_group_anonymous ๐Ÿ”ด
/set_group_card ๐ŸŸข
/set_group_name ๐ŸŸข
/set_group_leave ๐ŸŸข
/set_group_special_title ๐ŸŸข
/set_friend_add_request ๐ŸŸข
/set_group_add_request ๐ŸŸข
/get_login_info ๐ŸŸข
/get_stranger_info ๐ŸŸข
/get_friend_list ๐ŸŸข
/get_group_info ๐ŸŸข
/get_group_list ๐ŸŸข
/get_group_member_info ๐ŸŸข
/get_group_member_list ๐ŸŸข
/get_group_honor_info ๐ŸŸข
/get_cookies ๐ŸŸข
/get_csrf_token ๐ŸŸข
/get_credentials ๐ŸŸข
/get_record ๐Ÿ”ด
/get_image ๐Ÿ”ด
/can_send_image ๐ŸŸข
/can_send_record ๐ŸŸข
/get_status ๐ŸŸข
/get_version_info ๐ŸŸข
/set_restart ๐ŸŸข
/clean_cache ๐Ÿ”ด
Event
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 ๐ŸŸข
Communication
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,
      "AccessToken": ""
    },
    {
      "Type": "ForwardWebSocket",
      "Host": "127.0.0.1",
      "Port": 8081,
      "HeartBeatInterval": 5000,
      "AccessToken": ""
    },
    {
      "Type": "HttpPost",
      "Host": "127.0.0.1",
      "Port": 8082,
      "Suffix": "/",
      "HeartBeatInterval": 5000,
      "AccessToken": ""
    },
    {
      "Type": "Http",
      "Host": "*",
      "Port": 8083,
      "AccessToken": ""
    }
  ]
}

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 the Signature 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

  • Signature of Windows and macOS is missing, you need to figure out by your self