Foxtable(狐表)用户栏目专家坐堂 → [求助]删除OpenQQ好友的问题?


  共有3134人关注过本帖树形打印复制链接

主题:[求助]删除OpenQQ好友的问题?

帅哥哟,离线,有人找我吗?
aqsunxj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:171 积分:1471 威望:0 精华:0 注册:2021/6/4 15:05:00
[求助]删除OpenQQ好友的问题?  发帖心情 Post By:2021/12/21 11:19:00 [只看该作者]

使用帮助文件中 
如果企业员工不多,可以直接将所有员工相互加为好友,实际上示例文件QQServer.Table就是这样的:
代码将所有人互加为好友。但是后期维护中删除了外部用户表部分用户后,删除的还存在qq好友中。请问如何在好友中清除那些已经删除的用户?谢谢
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20211221111743.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107811 积分:548406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/21 11:27:00 [只看该作者]

删除数据后保存表格。然后客户端需要重新登录

 回到顶部
帅哥哟,离线,有人找我吗?
aqsunxj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:171 积分:1471 威望:0 精华:0 注册:2021/6/4 15:05:00
  发帖心情 Post By:2021/12/21 11:42:00 [只看该作者]

还是不行,存放用户的外部表的那些用户都删除掉了。但是在qq的好友里还存在。服务器程序也重新启动了,客户程序也重新启动了。是要在哪里在调整下吗?老师

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107811 积分:548406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/21 11:44:00 [只看该作者]

不可能把,好友不是都是自己查询用户表,然后在添加的吗?如果用户表这些用户都没有了,怎么可能还能查询到?是不是连接不同的数据库?

 回到顶部
帅哥哟,离线,有人找我吗?
aqsunxj
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:171 积分:1471 威望:0 精华:0 注册:2021/6/4 15:05:00
  发帖心情 Post By:2021/12/21 14:42:00 [只看该作者]

我 服务器程序用的是帮助文件里的代码 添加所有的人互为好友 和这有影响吗?

如果企业员工不多,可以直接将所有员工相互加为好友,实际上示例文件QQServer.Table就是这样的:

Dim pts() As String = e.UserName.Split(".")
im
dr1 As DataRow
dr1
= DataTables("用户").Find("部门 = '" & pts(0) & "' And 姓名 = '" & pts(1) & "'")
If
dr1 Is Nothing  Then '判断此用户不存在
    e.Message  = "用户名错误!" '返回给登录者的提示信息
   
Return

End
If
If
dr1("密码") <> e.Password Then '如果密码错误
    e.Message  = "登录密码错误!" '返回给登录者的提示信息
   
Return

End
If
e
.Success = True '允许用户登录
'添加所有同事为好友

For
Each dr2 As DataRow In DataTables("用户").DataRows
    Dim nm As String =  dr2("部门") & "." & dr2("姓名")
    If nm <> e.UserName Then '如果不是登录者本人
        e.Buddies.Add(nm)
    End
If

Next


 回到顶部
帅哥哟,离线,有人找我吗?
aqsunxj
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:171 积分:1471 威望:0 精华:0 注册:2021/6/4 15:05:00
  发帖心情 Post By:2021/12/21 14:43:00 [只看该作者]

不好意思 用的是这里的代码

验证用户身份

启用内置身验证后,服务端的登录身份验证变得非常简单。

OpenQQ服务端用于登录身份验证的事件是UserLogging,该事件有个e参数User,类型为UserInfo,如果内置身份验证通过,该参数返回登录用户,否则返回Nothing。

所以判断是否通过身份验证的代码很简单:

If e.User IsNot Nothing Then
   '通过了内置身份验证
   
e.Success = True '允许用户登录
Else
   '未通过内置身份验证
End If

例如通过验证后添加所有用户为好友:

If e.User IsNot Nothing Then
   
e.Success = True '允许登录
    For Each u As UserInfo In Users
       
If u.Name <> e.User.Name  Then
            If u.Group > ""  Then
                e.Buddies.Add(u.Group & "." & u.Name)
            Else
                e.Buddies.Add(u.Name)
           
End If
        End If
   
Next

End
If


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107811 积分:548406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/21 15:23:00 [只看该作者]

这个代码添加的内部用户,和外部的用户表没有任何关系呀

 回到顶部
帅哥哟,离线,有人找我吗?
aqsunxj
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:171 积分:1471 威望:0 精华:0 注册:2021/6/4 15:05:00
  发帖心情 Post By:2021/12/21 17:57:00 [只看该作者]

好 那我再调试调试看看 麻烦了 蓝老师

 回到顶部