Example #1
0
 /// <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));
        }
Example #3
0
        /// <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));
        }
Example #4
0
 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);