public async Task GetGiftHistory() { try { string msg = ""; GiftHistoryManager giftHistoryManager = new GiftHistoryManager(); UserManager userManager = new UserManager(); ServerManager serverManager = new ServerManager(); var gifts = await giftHistoryManager.GetUsersGiftByServerId(Convert.ToString(Context.Guild.Id)); if (gifts != null) { StringBuilder bld = new StringBuilder(); bld.AppendLine("Gifts given by the bot"); foreach (var g in gifts) { var user = await userManager.GetUserbyId(g.uId); var server = await serverManager.getServerbyId(g.ServerId); bld.AppendFormat("\nId :{0}", g.Id); bld.AppendFormat("\nUserName :{0}", user.Username); bld.AppendFormat("\nBirthday :{0}", g.CharacterName); bld.AppendFormat("\nGiftet at :{0}", g.GiftedAt); bld.AppendFormat("\nYear: :{0}", g.Year); bld.AppendFormat("\nServer Name :{0}", server.Name); bld.AppendLine(); } msg = bld.ToString(); } else { StringBuilder bld = new StringBuilder(); bld.AppendLine("Registered users with the bot"); bld.AppendLine("There is no history of gifts "); msg = bld.ToString(); } var channel = await Context.User.GetOrCreateDMChannelAsync(); if (channel != null) { await channel.SendMessageAsync(msg); } //await ReplyAsync(msg); } catch (Exception ex) { CommonTools.ErrorReporting(ex); } }
public async Task CleartGiftHistory() { try { string msg = ""; GiftHistoryManager giftHistoryManager = new GiftHistoryManager(); UserManager userManager = new UserManager(); ServerManager serverManager = new ServerManager(); var gifts = await giftHistoryManager.GetGiftHistory(); if (gifts != null) { await giftHistoryManager.DelGiftsByServerid(Convert.ToString(Context.Guild.Id)); msg = "Cleared the Gift History! " + Context.Guild.Name; } else { msg = "The Gift History was empty " + Context.Guild.Name; } var channel = await Context.User.GetOrCreateDMChannelAsync(); if (channel != null) { await channel.SendMessageAsync(msg); } //await ReplyAsync(msg); } catch (Exception ex) { CommonTools.ErrorReporting(ex); } }
public override async Task GuildMemberUpdated(SocketGuildUser arg1, SocketGuildUser arg2) { try { await base.GuildMemberUpdated(arg1, arg2); if (arg1.Status != arg2.Status && arg1.IsBot == false && arg2.IsBot == false) { if (arg1.Status != Discord.UserStatus.Online && arg2.Status == Discord.UserStatus.Online) // && arg2.Status!= Discord.UserStatus.DoNotDisturb && arg2.) { UserManager usermngr = new UserManager(); var user = await usermngr.GetUserbyId(Convert.ToString(arg1.Id)); if (user != null) { DateTime date = DateTime.Now; GiftHistoryManager giftmngr = new GiftHistoryManager(); var birth = user.Birthday; if (date.Day == birth.Day && date.Month == birth.Month) { FavoriteCharactersManager fvmngr = new FavoriteCharactersManager(); var fchar = fvmngr.GetUserFavorite(Convert.ToString(user.Id)); if (fchar != null && await giftmngr.isGiftGiven(user.Id, Convert.ToString(arg1.Guild.Id), DateTime.Now.Year) == false) { int i = 0; Random rnd = new Random(); i = rnd.Next(fchar.Count - 1); if (i > 0) { DanbooruDownloader san = new DanbooruDownloader(); string file = await san.DownloadRandomimage(fchar[i].CharacterName); var dmchannel = await arg1.GetOrCreateDMChannelAsync(); if (dmchannel != null) { if (file == null) { //await dmchannel.SendMessageAsync(String.Format("Did not find a random image to send you {0} from danbooru complex for {1}.", // arg2.Mention, fchar[i].CharacterName)); return; } Stream fil = File.OpenRead(file); await dmchannel.SendFileAsync(fil, file, String.Format("{0} Happy Birthday ! Sending you a random image for : {1} from danbooru (based boards ) as a present!" , arg2.Mention, fchar[i].CharacterName)); } File.Delete(file); await giftmngr.AddGift(user.Id, fchar[i].CharacterName, Convert.ToString(arg1.Guild.Id)); } } } } } } //return Task.CompletedTask; } catch (Exception ex) { CommonTools.ErrorReporting(ex); //return Task.CompletedTask; } }