Konata.Core icon indicating copy to clipboard operation
Konata.Core copied to clipboard

Android QQ protocol core implementation written in C#

Konata.Core

Core C# NuGet
NuGet License Build Telegram

QQ(Android) protocol core implemented with pure C#
based on .NET Standard 2.1, event driven.

Docs

简体中文 / English

Example code snippets
// Create a bot instance
var bot = BotFather.Create(config, device, keystore);
{
    // Handle the captcha
    bot.OnCaptcha += (bot, e) =>
    {
        if(e.Type == CaptchaType.Slider)
        {
            Console.WriteLine(e.SliderUrl); 
            bot.SubmitSliderTicket(Console.ReadLine());
        }
        else if(e.Type == CaptchaType.Sms)
        {
            Console.WriteLine(e.Phone); 
            bot.SubmitSmsCode(Console.ReadLine());
        }
    };

    // Print the log
    bot.OnLog += (_, e) 
        => Console.WriteLine(e.EventMessage);

    // Handle group messages
    bot.OnGroupMessage += (_, e) 
        => Console.WriteLine(e.Message); 
    
    // Handle friend messages
    bot.OnFriendMessage += (_, e) 
        => Console.WriteLine(e.Message);
    
    // ... More handlers
}

// Do login
if(!await bot.Login())
{
    Console.WriteLine("Login failed");
    return;
}

Console.WriteLine("We got online!");

Features List

Messages Support Operations Support Events Support
Images 🟢 Poke 🟢 Captcha 🟢
Text / At 🟢 Recall 🟡[^1] BotOnline 🟢
Records 🟢 Leave Group 🟢 BotOffline 🟢
QFace 🟢 Special Title 🟢 Message 🟡[^2]
Json 🟢 Kick Member 🟢 Poke 🟢
Xml 🟢 Mute Member 🟢 MessageRecall 🟢
Forward 🟡[^3] Set Admin 🟢 GroupMemberDecrease 🟢
Video 🔴 Friend Request 🟢 GroupMemberIncrease 🟢
Flash Image 🟢 Group Request 🟢 GroupPromoteAdmin 🟢
Reply 🟢 Voice Call 🔴 GroupInvite 🟢
File 🔴 Csrf Token 🟢 GroupRequestJoin 🟢
Cookies 🔴 FriendRequest 🟢
FriendTyping 🟢
FriendVoiceCall 🔴

[^1]: Not supported to recall messages sent from the bot.
[^2]: Not supported temp messages. [^3]: Not supported to forward messages between group and friend.

Special Thanks

Special thanks to JetBrains offers free open-source licenses for us!

License

Licensed in GNU GPLv3 with ❤.