Exemple #1
0
        public static void SendPlanInformation(this IDiscordRestApi discordRestApi, ulong discordId, ulong duserId, string priorityState, TimeSpan Remining)
        {
            try
            {
                RestGuildUser usr        = null;
                RestGuild     gld        = null;
                string        namefor    = "";
                string        priorityId = "";
                string        title      = "? Updated";
                if (priorityState == "User")
                {
                    usr        = discordRestApi.GetGuildUserAsync(discordId, duserId).Result;
                    namefor    = $"{usr?.Username}#{usr?.Discriminator}";
                    priorityId = $"{priorityState}-{usr.Id}";
                    title      = $"INDIVIDUAL PLAN IS UPDATED";
                }
                else if (priorityState == "Guild")
                {
                    gld        = discordRestApi.GetApi.GetGuildAsync(discordId).Result;
                    usr        = gld?.GetOwnerAsync().Result;
                    namefor    = $"{gld?.Name}";
                    priorityId = $"{priorityState}-{gld.Id}";
                    title      = $"PRO PLAN IS UPDATED";
                }

                DateTime dtx = new DateTime();
                dtx = dtx.Add(Remining);
                EmbedBuilder embed = new EmbedBuilder()
                {
                    Author = new EmbedAuthorBuilder()
                    {
                        IconUrl = discordRestApi.GetApi.CurrentUser.GetAvatarUrl(),
                        Name    = discordRestApi.GetApi.CurrentUser.Username
                    },
                    Color = Color.Green,
                    Title = title
                };
                embed.Description += $"Type: **{priorityState}**\n" +
                                     $"Name: {namefor}\n" +
                                     $"Expires In: **{dtx.Year - 1}**Years **{dtx.Month - 1}**Months **{dtx.Day - 1}**days **{dtx.Hour}**hours\n";

                embed.Description += "\n\n";
                try
                {
                    RestDMChannel   dm     = usr.GetOrCreateDMChannelAsync().Result;
                    Embed           bembed = embed.Build();
                    RestUserMessage msg    = dm.SendMessageAsync(string.Empty, false, bembed).Result;
                    dm.CloseAsync().Wait();
                }
                catch (Exception e)
                {
                }
            }
            catch (Exception ee)
            {
                throw ee;
            }
        }
Exemple #2
0
 public PullMessage(IDiscordRestApi discordApi, IRedisService redisService) : base("AutoDiscordMsgRemove", redisService)
 {
     DiscordApi      = discordApi;
     DelayRetry      = new TimeSpan(0, 0, 0, 1, 0);
     DelayAfterError = new TimeSpan(0, 0, 2);
     DelayOnSucceed  = DelayRetry;
     OnException    += PullMessage_OnException;
     OnAction       += PullMessage_OnAction;
 }
 public PullVerifyRequest(IEpicFriendListApi fapilst, BotContext context, IDiscordRestApi discordApi, IRedisService redisService) : base("ProfileVerificationQueue", redisService)
 {
     DiscordApi      = discordApi;
     Context         = context;
     FriendListApi   = fapilst;
     DelayRetry      = new TimeSpan(0, 0, 0, 0, 250);
     DelayAfterError = new TimeSpan(0, 0, 1);
     DelayOnSucceed  = DelayRetry;
     OnException    += PullMessage_OnException;
     OnAction       += PullMessage_OnAction;
 }
Exemple #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Context"/> class.
 /// </summary>
 /// <param name="client">
 /// The client param.
 /// </param>
 /// <param name="message">
 /// The message param.
 /// </param>
 /// <param name="queueManager"></param>
 public Context(DiscordShardedClient client, SocketUserMessage message, IFTNPowerRepository fTNPowerRepository, IDiscordRestApi discordRestApi) : base(client, message)
 {
     DiscordRestApi    = discordRestApi;
     Repo              = fTNPowerRepository;
     GuildConfig       = Repo.Guild.AddOrGetGuildConfig(Guild.Id.ToString());
     DiscordUser       = Repo.User.AddOrGetUserAsync(User.Id.ToString(), Guild.Id.ToString()).Result;
     AccountPowerLevel = 1;
     if (DiscordUser.IsValidName)
     {
         if (DiscordUser.GameUserMode == GameUserMode.PVE)
         {
             var pveuser = Repo.Db <FortnitePVEProfile>()
                           .Where(f => f.EpicId == DiscordUser.EpicId)
                           .Select(x => new { x.PlayerName, x.EpicId, x.AccountPowerLevel })
                           .FirstOrDefault();
             PlayerName = pveuser?.PlayerName;
             if (pveuser != null)
             {
                 AccountPowerLevel = Model.Utils.GetIntegerPower(pveuser.AccountPowerLevel);
             }
             else
             {
                 AccountPowerLevel = 0;
             }
         }
         else
         {
             var pvpUser = Repo.Db <FortnitePVPProfile>()
                           .Where(f => f.EpicId == DiscordUser.EpicId)
                           .FirstOrDefault();
             PlayerName         = pvpUser?.PlayerName;
             TotalPVPRankedWins = pvpUser.PvpCurrentModeWins(DiscordUser.GameUserMode);
         }
     }
     else
     {
         PlayerName = null;
     }
 }
 public UserUpdater(IFTNPowerRepository fTNPowerRepository, IDiscordRestApi discordApi, Fortnite.Api.IEpicApi epicApi)
 {
     Repo       = fTNPowerRepository;
     DiscordApi = discordApi;
     EpicApi    = epicApi;
 }
Exemple #6
0
 public PriorityManager(IDiscordRestApi discordRestApi, IFTNPowerRepository fTNPowerRepository, IJsonStringLocalizer translation)
 {
     DiscordRestApi = discordRestApi;
     Translation    = translation;
     Repo           = fTNPowerRepository;
 }