Coder Social home page Coder Social logo

dumbqq's Introduction

DumbQQ Build status GitHub license NuGet

本项目是对@ScienJusSmartQQ的C#迁移(以及更多)。感谢对原项目做出贡献的各位的付出。

关于2.0分支

本分支尚未完成且甚至不保证可编译。请不要试图于你的项目中使用,为其提交Issue,或者忘记喂你的猫。 尽管如此,2.0的结构已经基本确定。

  • C# 7.0新特性的使用
  • 将辅助性质的方法移出类定义,改为扩展方法
  • 框架改为.NET Standard(尽管如此由于依赖项兼容问题请不要直接于.NET Core项目中使用;作者可能会或不会解决该问题)
  • 无状态
  • 基于Selenium的用户名密码身份认证(需要额外安装Selenium与兼容的WebDriver)
  • 大幅精简无用属性

功能

DumbQQ可以:

  • 收发文字消息
  • 获取好友、群、讨论组、好友分组和最近会话的列表

DumbQQ不可以:

  • 包括但不限于收发图片、结构化消息、特殊消息
  • 上传/下载/发送文件
  • 所有想想就不可能的事

以下功能在日程上但是暂未实现:

  • 收发系统表情(例:/微笑)

特色功能:

  • 尽量隐藏了底层API的杂乱架构
  • 可调节的缓存时间
  • 导出cookie便于下次快速登录
  • 便捷的检测消息是否提到我
  • 完善的XML注释
  • 掉线检测
  • 以字节数组形式接收二维码

文档

项目wiki

FAQ

为啥突然消息发不出去了?

请至SmartQQ检查消息是否可以发出,或者至QQ安全中心检查账户是否被冻结。

总是被冻结,怎么办?

请避免:

  • 短时间内大量发送消息
  • 在非常用网络环境下使用
  • 使用新号
  • 违反ToS的行为
  • 作死

如果有主要功能发生异常(如发出消息别人收不到但可正常接收消息)但别人无此问题,请自认倒霉并修养三日再开。

Issues

本人并没有全面地测试该项目。如果使用中发现问题欢迎提Issue打脸。

确定是SmartQQ接口自身的问题请提到原项目,谢谢合作。

已知问题

所有问题都是已知问题

Forks

DumbQQ-Core maintained by @rmbadmin

dumbqq's People

Contributors

tjysunset avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dumbqq's Issues

缓存文件登录相关问题

通过缓存文件登录失败(返回100012错误)后,如果不清除掉缓存,直接正常步骤(通过扫二维码)登陆,会在GetUinAndPsessionid()步骤失败,也返回100012错误,

退出程序删除缓存文件(默认是“dump.json”)再运行,又可以正常登陆

已在你的项目基础上做了封装

地址:
https://github.com/WangCharlie/SmartQQ

SmartQQClient
                // 登录
                .Login((bytes) =>
                {
                    using (var ms = new MemoryStream(bytes))
                    {
                        SmartQQClient.ConsoleWriteImage(new Bitmap(Image.FromStream(ms)));
                        Logger.Instance.Info("二维码已打印在屏幕,请使用手机QQ扫描。");
                    }
                })
                // 好友消息回调
                .ReceivedFriendMessage((message) => {
                    message.Reply("test");
                    Logger.Instance.Info($"{message.Sender.Alias ?? message.Sender.Nickname}:{message.Content}");
                })
                // 群消息回调
                .ReceivedGroupMessage((message) => {
                    Logger.Instance.Info(
                    $"[{message.Group.Name}]{message.Sender.Alias ?? message.Sender.Nickname}:{message.Content}");
                    if (message.Content.IsMatch(@"^\s*Knock knock\s*$"))
                        message.Reply("Who's there?");
                    else if (message.StrictlyMentionedMe)
                        message.Reply("什么事?");
                })
                // 讨论组消息回调
                .ReceivedDiscussionMessage((message) =>
                {
                    Logger.Instance.Info($"[{message.Discussion.Name}]{message.Sender.Nickname}:{message.Content}");
                })
                // 消息回显
                .ReceivedMessageEchoEventArgs((e) => {
                    Logger.Instance.Info($"{e.Target.Name}>{e.Content}");
                })
                //开始服务
                .Start((client) => {
                    Logger.Instance.Info($"欢迎,{client.Nickname}!");
                });

            Console.ReadLine();

报错

欢迎,绿砖!
2017-06-22 19:05:33,023 ERROR [13] DumbQQClient Enzio-PC\Enzio - System.NullRefe
renceException: 未将对象引用设置到对象的实例。
在 DumbQQConsoleDemo.Program.<>c.

b__4_1(Object sender, GroupMessage mes
sage) 位置 C:\DumbQQ-master\DumbQQConsoleDemo\Program.cs:行号 79
在 DumbQQ.Client.DumbQQClient.PollMessage() 位置 C:\DumbQQ-master\DumbQQ\Clie
nt\DumbQQClient.cs:行号 779
在 DumbQQ.Client.DumbQQClient.b__111_0() 位置 C:\DumbQQ-mas
ter\DumbQQ\Client\DumbQQClient.cs:行号 734

79 -84行

 Console.WriteLine(
                $"[{message.Group.Name}]{message.Sender.Alias ?? message.Sender.Nickname}:{message.Content}");
            if (message.Content.IsMatch(@"^\s*Knock knock\s*$"))
                message.Reply("Who's there?");
            else if (message.StrictlyMentionedMe)
                message.Reply("什么事?");

求教:隔几个小时后给好友发送消息时报错(调试时,发现retcode返回是100012)

public void Message(TargetType type, long id, string content)这个方法里面的这句话
var status = JObject.Parse(response.RawText)["errCode"].ToObject<int?>()
我开了控制台程序,并且登录成功了webqq,但隔了几个小时候,我再发送一条消息,执行Message方法,但上面这句代码报未将对象引用到对象实例。我调试看了下,response.RawText并没有errCode的字段了,只有retcode字段,且retcode字段的值是100012.
我不明白返回100012后该怎么做。也不明白返回100012的意思,求教!

修复Start()的cookie登录重载

问题描述:Cookie登录功能不可用。
问题原因:这个方法没有加载ptwebqq, vfwebqq, uin, psessionidhash五个参数。

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.