public async ValueTask <(ApiStatusType, int)> SendPrivateMsg(long userId, long groupId, IEnumerable <CQCode> message, bool autoEscape = false, CancellationToken cancellationToken = default) { var replay = await _api.SendMsg(new SendMessageParams { UserId = userId, GroupId = groupId, Message = message, AutoEscape = autoEscape, MessageType = MessageType.Private }, cancellationToken); // TODO ApiStatusType解析 return(replay == null ? (ApiStatusType.Error, 0) : (ApiStatusType.Ok, replay["data"]?["message_id"]?.ToObject <int>() ?? -1)); }
public async ValueTask <(ApiStatusType, int)> SendMsg(long?userId, long?groupId, IEnumerable <CQCode> message, bool?autoEscape = default, CancellationToken cancellationToken = default) { _logger.LogInformation("[SendMsg] User:{UserId} Group:{GroupId}", userId, groupId); var reply = await _api.SendMsg(new SendMessageParams { UserId = userId, GroupId = groupId, Message = message, AutoEscape = autoEscape, }, cancellationToken); var id = -1; if (reply?["data"] is JObject data && data.ContainsKey("message_id")) { id = data["message_id"]?.ToObject <int>() ?? -1; } // TODO ApiStatusType解析 return(reply == null ? (ApiStatusType.Error, 0) : (ApiStatusType.Ok, id)); }