public async Task SetUtcOffsetForUserAsync(DateTime userTime, MiunieUser user, MiunieChannel channel) { var offset = TimeSpan.FromHours(userTime.Hour - _dateTime.UtcNow.Hour); user.UtcTimeOffset = offset; _users.StoreUser(user); await _messages.SendMessageAsync(channel, PhraseKey.TIME_NEW_OFFSET_SET); }
public MiunieUser DiscordMemberToMiunieUser(DiscordMember user) { var mUser = _userProvider.GetById(user.Id, user.Guild.Id); mUser.Name = user.Nickname ?? user.Username; mUser.AvatarUrl = user.AvatarUrl; mUser.JoinedAt = user.JoinedAt.UtcDateTime; mUser.IsBot = user.IsBot; mUser.Roles = user.Roles.Select(r => r.DiscordRoleToMiunieRole()); _userProvider.StoreUser(mUser); return(mUser); }
public MiunieUser DiscordMemberToMiunieUser(SocketGuildUser user) { if (user is null) { throw new ArgumentNullException(nameof(user)); } var mUser = _userProvider.GetById(user.Id, user.Guild.Id); mUser.Name = user.Nickname ?? user.Username; mUser.AvatarUrl = user.GetAvatarUrl(); mUser.JoinedAt = user.JoinedAt?.UtcDateTime ?? default; mUser.CreatedAt = user.CreatedAt.UtcDateTime; mUser.IsBot = user.IsBot; mUser.Roles = user.Roles.Select(r => r.DiscordRoleToMiunieRole()); _userProvider.StoreUser(mUser); return(mUser); }
public void AddReputation(MiunieUser invoker, MiunieUser target) { target.Reputation.Value++; target.Reputation.PlusRepLog.TryAdd(invoker.Id, _dateTime.Now); _userProvider.StoreUser(target); }