weixin_55089971 2023-02-23 02:12 采纳率: 0%
浏览 4

想知道为什么有的TG账号几个月不登录,刷新附近人,还能看到他的账号,正常情况下不是只会显示很短一短时间吗?

想知道为什么有的TG账号几个月不登录,刷新附近人,还能看到他的账号,正常情况下不是只会显示很短一短时间吗?

  • 写回答

1条回答 默认 最新

  • GPT_Pro 2023-02-23 03:56
    关注

    该回答内容部分引用GPT,GPT_Pro更好的解决问题
    TG账号几个月不登录,刷新附近人,还能看到他的账号,这是因为TG提供了一个在线状态的检测机制,其原理是向服务器发送一个心跳包,该心跳包会更新用户的“最后在线时间”。 如果用户不登录,该字段不会更新,因此,在刷新附近人时,仍然能够看到他的账号。

    TG也提供了一个在线状态的可视化显示,其原理是对服务器传回的“最后在线时间”进行处理,然后根据相应的时间差来计算出相应的在线状态。 例如,如果一个用户最后在线时间超过14天,就表示他已经离线了,此时在附近人列表中显示的是“14天前”。如果一个用户最后在线时间在3小时内,就表示他在线,此时在附近人列表中显示的是“3小时前”。

    TG也提供了一个API,可以利用它来实时检测用户的在线状态信息。具体来说,可以使用 easyui 、 Iless 或 typescript 来开发一个检测用户在线时间差的 API 接口:

    // easyui 
    // 定义一个 API 用于检测用户在线时间差 
    function getUserOnlineTime(userId) { 
      // 请求 TG 服务器 
      let url = /tg/api/getOnlineTime?userId=${userId} 
    
      // 解析响应的数据 
      let data = JSON.parse(http.get(url)); 
    
      // 计算出用户最后在线时间差 
      let onlineTime = Date.now() - data.lastOnlineTime;  
    
      // 返回用户最后在线时间差 
      return onlineTime;  
    }  
    
    // Iless 
    // 定义一个 API 用于检测用户在线时间差 
    let getUserOnlineTime = (userId) => {  
      // 请求 TG 服务器  
      let url = /tg/api/getOnlineTime?userId=${userId}  
    
      // 解析响应的数据  
      let data = JSON.parse(http.get(url));  
    
      // 计算出用户最后在线时间差  
      let onlineTime = Date.now() - data.lastOnlineTime;   
    
      // 返回用户最后在线时间差  
      return onlineTime;   
    }  
    
    // typescript  
    // 定义一个 API 用于检测用户在线时间差  
    function getUserOnlineTime(userId: string): number {  
      // 请求 TG 服务器  
      const url = `/tg/api/getOnlineTime?userId=${userId}`;  
    
      // 解析响应的数据  
      const data = JSON.parse(http.get(url));  
    
     // 计算出用户最后在线时间差  
     const onlineTime = Date.now() - data.lastOnlineTime;   
    
     // 返回用户最后在线时间差  
     return onlineTime;   
    }  
    

    如果回答有帮助,望采纳。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月23日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图