public static void OnFriendRequest(IApplyResponseArgs args) { if (BotReg.GetBool("CORE/ALLOW_FRIEND_REQUEST", false)) { BotAPI.HandleNewFriendApplyAsync(args, FriendApplyAction.Allow).Wait(); if (BotAuth.HasOwner && BotReg.GetBool("LOG/FRIEND_REQUEST", true)) { _ = BotAPI.SendPrivateMessageAsync(BotAuth.Owner, new PlainMessage($"Accept friend request: {args.FromQQ}")); } _ = BotInfo.ReloadFriends(); } }
/// <summary> /// 异步处理加群请求 /// </summary> /// <param name="args">收到用户入群申请事件中的参数</param> /// <param name="action">处理方式</param> /// <param name="message">附加信息</param> public Task HandleGroupApplyAsync(IApplyResponseArgs args, GroupApplyActions action, string message = "") { CheckConnected(); byte[] payload = JsonSerializer.SerializeToUtf8Bytes(new { sessionKey = SessionInfo.SessionKey, eventId = args.EventId, fromId = args.FromQQ, groupId = args.FromGroup, operate = (int)action, message }); return(InternalHttpPostAsync($"{SessionInfo.Options.BaseUrl}/resp/memberJoinRequestEvent", payload)); }
/// <summary> /// 内部使用 /// </summary> /// <exception cref="InvalidOperationException"/> /// <param name="action">处理方式</param> /// <param name="message">附加信息</param> private Task CommonHandleApplyAsync(string actpath, IApplyResponseArgs args, int action, string message) { InternalSessionInfo session = SafeGetSession(); var payload = new { sessionKey = session.SessionKey, eventId = args.EventId, fromId = args.FromQQ, groupId = args.FromGroup, operate = action, message }; return(session.Client.PostAsJsonAsync($"{session.Options.BaseUrl}/resp/{actpath}", payload, session.Token).AsApiRespAsync()); }
/// <summary> /// 内部使用 /// </summary> /// <exception cref="InvalidOperationException"/> /// <param name="action">处理方式</param> /// <param name="message">附加信息</param> private Task CommonHandleApplyAsync(string actpath, IApplyResponseArgs args, int action, string message) { InternalSessionInfo session = SafeGetSession(); byte[] payload = JsonSerializer.SerializeToUtf8Bytes(new { sessionKey = session.SessionKey, eventId = args.EventId, fromId = args.FromQQ, groupId = args.FromGroup, operate = action, message }); return(InternalHttpPostAsync(session.Client, $"{session.Options.BaseUrl}/resp/{actpath}", payload, session.Token)); }
/// <summary> /// 内部使用 /// </summary> private Task CommonHandleApplyAsync(string actPath, IApplyResponseArgs args, int action, string?message, CancellationToken token) { InternalSessionInfo session = SafeGetSession(); var payload = new { sessionKey = session.SessionKey, eventId = args.EventId, fromId = args.FromQQ, groupId = args.FromGroup, operate = action, message = message ?? "", }; CreateLinkedUserSessionToken(session.Token, token, out CancellationTokenSource? cts, out token); return(_client.PostAsJsonAsync($"{_options.BaseUrl}/resp/{actPath}", payload, token).AsApiRespAsync(token).DisposeWhenCompleted(cts)); }
/// <inheritdoc/> public abstract Task HandleNewFriendApplyAsync(IApplyResponseArgs args, FriendApplyAction action, string?message = null, CancellationToken token = default);
/// <inheritdoc/> public abstract Task HandleGroupApplyAsync(IApplyResponseArgs args, GroupApplyActions action, string?message = null, CancellationToken token = default);
/// <summary> /// 异步处理Bot受邀加群请求 /// </summary> /// <param name="args">Bot受邀入群事件中的参数, 即 <see cref="IBotInvitedJoinGroupEventArgs"/></param> /// <inheritdoc cref="CommonHandleApplyAsync"/> public Task HandleBotInvitedJoinGroupAsync(IApplyResponseArgs args, GroupApplyActions action, string message = "") { return(CommonHandleApplyAsync("botInvitedJoinGroupRequestEvent", args, (int)action, message)); }
/// <summary> /// 异步处理加群请求 /// </summary> /// <param name="args">收到用户入群申请事件中的参数, 即 <see cref="IGroupApplyEventArgs"/></param> /// <inheritdoc cref="CommonHandleApplyAsync"/> public Task HandleGroupApplyAsync(IApplyResponseArgs args, GroupApplyActions action, string message = "") { return(CommonHandleApplyAsync("memberJoinRequestEvent", args, (int)action, message)); }
/// <summary> /// 异步处理添加好友请求 /// </summary> /// <param name="args">收到添加好友申请事件中的参数, 即<see cref="INewFriendApplyEventArgs"/></param> /// <inheritdoc cref="CommonHandleApplyAsync"/> public Task HandleNewFriendApplyAsync(IApplyResponseArgs args, FriendApplyAction action, string message = "") { return(CommonHandleApplyAsync("newFriendRequestEvent", args, (int)action, message)); }
public static Task HandleNewFriendApplyAsync(IApplyResponseArgs args, FriendApplyAction action) => session.HandleNewFriendApplyAsync(args, action);
/// <inheritdoc/> public override Task HandleBotInvitedJoinGroupAsync(IApplyResponseArgs args, GroupApplyActions action, string?message = null, CancellationToken token = default) { return(CommonHandleApplyAsync("botInvitedJoinGroupRequestEvent", args, (int)action, message, token)); }
/// <inheritdoc/> public override Task HandleNewFriendApplyAsync(IApplyResponseArgs args, FriendApplyAction action, string?message = null, CancellationToken token = default) { return(CommonHandleApplyAsync("newFriendRequestEvent", args, (int)action, message, token)); }