mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 11:07:06 +00:00
perf: 机器人 webhook 添加用户信息
This commit is contained in:
parent
d5d32038f5
commit
ddc0931e90
@ -570,15 +570,14 @@ class User extends AbstractModel
|
|||||||
/**
|
/**
|
||||||
* 生成无设备的 token(主要用于接口调用,此 token 不检查设备是否存在)
|
* 生成无设备的 token(主要用于接口调用,此 token 不检查设备是否存在)
|
||||||
* @param self $userinfo
|
* @param self $userinfo
|
||||||
* @param int $days
|
* @param $ttl
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public static function generateTokenNoDevice($userinfo, $days = 3)
|
public static function generateTokenNoDevice($userinfo, $ttl)
|
||||||
{
|
{
|
||||||
$key = 'user_token_' . $userinfo->userid . '_' . $days;
|
$key = 'user_token_no_device_' . $userinfo->userid;
|
||||||
$ttl = now()->addDays($days);
|
return Cache::remember($key, $ttl, function () use ($userinfo, $ttl) {
|
||||||
return Cache::remember($key, $ttl, function () use ($userinfo, $ttl, $days) {
|
$token = Doo::tokenEncode($userinfo->userid, $userinfo->email, $userinfo->encrypt);
|
||||||
$token = Doo::tokenEncode($userinfo->userid, $userinfo->email, $userinfo->encrypt, $days);
|
|
||||||
Cache::put(UserDevice::ck(md5($token)), $userinfo->userid, $ttl);
|
Cache::put(UserDevice::ck(md5($token)), $userinfo->userid, $ttl);
|
||||||
return $token;
|
return $token;
|
||||||
});
|
});
|
||||||
|
|||||||
@ -531,8 +531,7 @@ class BotReceiveMsgTask extends AbstractTask
|
|||||||
'version' => Base::getVersion(),
|
'version' => Base::getVersion(),
|
||||||
'extras' => Base::array2json($extras)
|
'extras' => Base::array2json($extras)
|
||||||
];
|
];
|
||||||
if ($botUser->isAiBot()) {
|
// 添加用户信息
|
||||||
// AI机器人需要用户信息
|
|
||||||
$userInfo = User::find($msg->userid);
|
$userInfo = User::find($msg->userid);
|
||||||
$data['msg_user'] = [
|
$data['msg_user'] = [
|
||||||
'userid' => $userInfo->userid,
|
'userid' => $userInfo->userid,
|
||||||
@ -540,9 +539,8 @@ class BotReceiveMsgTask extends AbstractTask
|
|||||||
'nickname' => $userInfo->nickname,
|
'nickname' => $userInfo->nickname,
|
||||||
'profession' => $userInfo->profession,
|
'profession' => $userInfo->profession,
|
||||||
'lang' => $userInfo->lang,
|
'lang' => $userInfo->lang,
|
||||||
'token' => User::generateTokenNoDevice($userInfo),
|
'token' => User::generateTokenNoDevice($userInfo, now()->addHour()),
|
||||||
];
|
];
|
||||||
}
|
|
||||||
$res = Ihttp::ihttp_post($webhookUrl, $data, 30);
|
$res = Ihttp::ihttp_post($webhookUrl, $data, 30);
|
||||||
if ($userBot) {
|
if ($userBot) {
|
||||||
$userBot->webhook_num++;
|
$userBot->webhook_num++;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user