Coder Social home page Coder Social logo

pk5ls20 / lagrange.core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lagrangedev/lagrange.core

2.0 0.0 0.0 3.38 MB

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

License: GNU General Public License v3.0

Shell 0.02% C# 99.92% Dockerfile 0.06%

lagrange.core's Introduction

Lagrange.Core Core OneBot C# C#

License Telegram

Image

> English < | 简体中文

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.

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
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": "https://sign.lagrangecore.org/api/sign",
  "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 and Http are implemented based on HttpListener, which has the following problems:

  1. On Linux, the Host header of an Http request must match the value of Prefix unless it is + or *, so configure the Host of ForwardWebSocket and Http to be the domain name or IP you are using to access it.

  2. On Windows, the HttpListener is based on the http.sys implementation, so you need to register urlacl before using it. see netsh. You can also start Lagrange.OneBot using the administrator, at which point HttpListener will automatically register the required urlacl.

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

  • Built-in SignServer is now provided, Enjoy!

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

lagrange.core's People

Contributors

linwenxuan05 avatar darkcwk avatar cracktc avatar ishkong avatar photonspk avatar decrabbityyy avatar neppure avatar thesnowfield avatar luooooob avatar endymx avatar executor-cheng avatar nscrosu avatar xeronowo avatar zaitonn avatar eric2788 avatar myot233 avatar pk5ls20 avatar yukari316 avatar serfend avatar muuushin avatar dogdie233 avatar coloryr avatar blokura avatar initialencounter avatar redmomn avatar lvlinkeji avatar controllerdestiny avatar sweetymajo avatar ilyfairy avatar caelumlux avatar

Stargazers

 avatar 思思 avatar

lagrange.core's Issues

[Bug?]: get_msg 获取不到正常的mface 的各种信息

请确保您已阅读以上注意事项,并勾选下方的确认框。

  • 我已经仔细阅读上述内容
  • 我已经使用 最新构建 测试过,问题依旧存在。
  • 我已经在 Issue Tracker 中找过我要提出的问题,没有找到相同问题的ISSUE。
  • 我已知晓并同意,此处仅用于汇报程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。(其它疑问请考虑加入TG群询问或在discussions中提问)

Lagrange项目

OneBot

所使用/依赖的Lagrange项目对应的commit

bd9e5a7

运行环境

Linux

运行架构

x64

连接方式

HTTP

重现步骤

使用get_msg获取对应表情的 消息时
获取到的信息为空
(
[type] => mface
[data] => stdClass Object
(
[faceName] =>
[faceId] =>
[key] =>
[imageHeight] => -1
[imageWidth] => -1
[tabId] => -1
)

                    )
             表情对应的文字信息又正常
                               (
                        [type] => text
                        [data] => stdClass Object
                            (
                                [text] => [太牛了]
                            )

                    )
                    
                    如果是正常 接收消息获取的表情信息 也是正常的

期望的结果是什么?

get_msg获取的表情信息正常

实际的结果是什么?

无法正常获取

简单的复现代码/链接(可选)

No response

日志记录(可选)

No response

补充说明(可选)

No response

Progress of unofficial implementations regarding the event `MarketFace`

Overview

Currently, due to reasons such as go-cqhttp not being implemented, inconsistent standard implementations among different parties, Lagrange.Core has not officially implemented and wishes to postpone the implementation of the MarketFace event.
Below is the unofficial implementation of this event in this Fork and its progress.

Progress

  • Basic implementation of receiving the MarketFace event (complete in 0901d5d)
  • Basic implementation of sending the MarketFace event

Known Issues

  • Currently, receiving a market sticker reports two events (MarketFace, text)
  • There seems to be a problem with the raw_message of the MarketFace event
  • Facekey's conversion seems to be incorrect (fix in 0901d5d)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.