Lagrange.Core 0.2.1

dotnet add package Lagrange.Core --version 0.2.1
NuGet\Install-Package Lagrange.Core -Version 0.2.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Lagrange.Core" Version="0.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Lagrange.Core --version 0.2.1
#r "nuget: Lagrange.Core, 0.2.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Lagrange.Core as a Cake Addin
#addin nuget:?package=Lagrange.Core&version=0.2.1

// Install Lagrange.Core as a Cake Tool
#tool nuget:?package=Lagrange.Core&version=0.2.1

<div align="center">

Lagrange.Core Core OneBot C# C#

License Telegram

Image

> English < | 简体中文

</div>

<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

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<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 🟢 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

<Details> <Summary>Message Segement</Summary>

Message Segement Support
Text 🟢
Face 🟢
Image 🟢
Record 🟢
Video 🟡
At 🟢
Rps 🟢
Dice 🟢
Shake 🔴
Poke 🟢
Anonymous 🔴
Share 🔴
Contact 🔴
Location 🟢
Music 🔴
Reply 🟢
Forward 🟢
Node 🟢
Xml 🔴
Json 🟢

</Details>

<Details> <Summary>API</Summary>

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 🔴

</Details>

<Details> <Summary>Event</Summary>

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 🟢

</Details>

<Details> <Summary>Communication</Summary>

CommunicationType Support
Http 🟢
Http-Post 🟢
ForwardWebSocket 🟢
ReverseWebSocket 🟢

</Details>

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
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.1 307 3/19/2024
0.2.0 85 3/18/2024
0.1.17-alpha 86 2/27/2024
0.1.16-alpha 73 2/26/2024
0.1.15-alpha 67 2/26/2024
0.1.14-alpha 91 2/9/2024
0.1.13-alpha 138 1/5/2024
0.1.12-alpha 105 12/23/2023
0.1.11-alpha 84 12/19/2023
0.1.10-alpha 190 11/11/2023
0.1.9-alpha 109 10/29/2023
0.1.8-alpha 110 10/11/2023
0.1.7-alpha 87 10/11/2023
0.1.6-alpha 95 10/8/2023
0.1.5-alpha 82 10/7/2023
0.1.4-alpha 82 9/28/2023
0.1.3-alpha 87 9/23/2023
0.1.2-alpha 94 8/31/2023
0.1.1-alpha 98 8/30/2023
0.1.0-alpha 91 8/27/2023
0.0.9-alpha 90 8/24/2023
0.0.8-alpha 87 8/22/2023
0.0.7-alpha 94 8/20/2023
0.0.6-alpha 98 8/11/2023
0.0.5-alpha 104 8/11/2023
0.0.4-alpha 94 7/29/2023
0.0.3-alpha 96 7/27/2023
0.0.2 111 3/3/2024
0.0.2-alpha 102 7/24/2023
0.0.1-alpha 96 6/29/2023