/// <summary> /// 异步修改给定群员的信息 /// </summary> /// <param name="memberId">将要修改信息的QQ号</param> /// <param name="groupNumber">该用户所在群号</param> /// <param name="info">用户信息。其中不进行修改的值请置为 <see langword="null"/></param> public Task ChangeGroupMemberInfoAsync(long memberId, long groupNumber, IGroupMemberCardInfo info) { CheckConnected(); byte[] payload = JsonSerializer.SerializeToUtf8Bytes(new { sessionKey = SessionInfo.SessionKey, target = groupNumber, memberId, info }, JsonSerializeOptionsFactory.IgnoreNulls); return(InternalHttpPostAsync($"{SessionInfo.Options.BaseUrl}/memberInfo", payload, SessionInfo.Canceller.Token)); }
/// <summary> /// 异步修改给定群员的信息 /// </summary> /// <exception cref="InvalidOperationException"/> /// <exception cref="PermissionDeniedException"/> /// <exception cref="TargetNotFoundException"/> /// <param name="memberId">将要修改信息的QQ号</param> /// <param name="groupNumber">该用户所在群号</param> /// <param name="info">用户信息。其中不进行修改的值请置为 <see langword="null"/></param> public Task ChangeGroupMemberInfoAsync(long memberId, long groupNumber, IGroupMemberCardInfo info) { InternalSessionInfo session = SafeGetSession(); byte[] payload = JsonSerializer.SerializeToUtf8Bytes(new { sessionKey = session.SessionKey, target = groupNumber, memberId, info }, JsonSerializeOptionsFactory.IgnoreNulls); return(InternalHttpPostAsync(session.Client, $"{session.Options.BaseUrl}/memberInfo", payload, session.Token)); }
/// <summary> /// 异步修改给定群员的信息 /// </summary> /// <exception cref="InvalidOperationException"/> /// <exception cref="PermissionDeniedException"/> /// <exception cref="TargetNotFoundException"/> /// <param name="memberId">将要修改信息的QQ号</param> /// <param name="groupNumber">该用户所在群号</param> /// <param name="info">用户信息。其中不进行修改的值请置为 <see langword="null"/></param> public Task ChangeGroupMemberInfoAsync(long memberId, long groupNumber, IGroupMemberCardInfo info) { InternalSessionInfo session = SafeGetSession(); var payload = new { sessionKey = session.SessionKey, target = groupNumber, memberId, info }; return(session.Client.PostAsJsonAsync($"{session.Options.BaseUrl}/memberInfo", payload, session.Token) .AsApiRespAsync(session.Token)); }
public static void ChangeGroupMemberInfo(this MiraiHttpSession session, long memberId, long groupNumber, IGroupMemberCardInfo memberCardInfo) { AsyncHelpers.RunSync(() => session.ChangeGroupMemberInfoAsync(memberId, groupNumber, memberCardInfo)); }
/// <inheritdoc/> public abstract Task ChangeGroupMemberInfoAsync(long memberId, long groupNumber, IGroupMemberCardInfo info, CancellationToken token = default);