Patreon rewards fix finished
This commit is contained in:
parent
a8f2ca60c2
commit
7ad5c5e02b
@ -34,7 +34,9 @@ namespace NadekoBot.Modules.Utility
|
||||
[OwnerOnly]
|
||||
public async Task PatreonRewardsReload()
|
||||
{
|
||||
await _patreon.LoadPledges().ConfigureAwait(false);
|
||||
if (string.IsNullOrWhiteSpace(_creds.PatreonAccessToken))
|
||||
return;
|
||||
await _patreon.RefreshPledges(true).ConfigureAwait(false);
|
||||
|
||||
await Context.Channel.SendConfirmAsync("👌").ConfigureAwait(false);
|
||||
}
|
||||
@ -44,6 +46,7 @@ namespace NadekoBot.Modules.Utility
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(_creds.PatreonAccessToken))
|
||||
return;
|
||||
|
||||
if (DateTime.UtcNow.Day < 5)
|
||||
{
|
||||
await ReplyErrorLocalized("clpa_too_early").ConfigureAwait(false);
|
||||
|
@ -163,7 +163,7 @@ namespace NadekoBot
|
||||
var repeaterService = new MessageRepeaterService(this, Client, AllGuildConfigs);
|
||||
//var converterService = new ConverterService(Db);
|
||||
var commandMapService = new CommandMapService(AllGuildConfigs);
|
||||
var patreonRewardsService = new PatreonRewardsService(Credentials, Db, Currency);
|
||||
var patreonRewardsService = new PatreonRewardsService(Credentials, Db, Currency, Client);
|
||||
var verboseErrorsService = new VerboseErrorsService(AllGuildConfigs, Db, CommandHandler, helpService);
|
||||
var pruneService = new PruneService();
|
||||
#endregion
|
||||
|
@ -32,6 +32,8 @@ namespace NadekoBot.Services.Utility
|
||||
private readonly DbService _db;
|
||||
private readonly CurrencyService _currency;
|
||||
|
||||
private readonly string cacheFileName = "./patreon-rewards.json";
|
||||
|
||||
public PatreonRewardsService(IBotCredentials creds, DbService db, CurrencyService currency,
|
||||
DiscordSocketClient client)
|
||||
{
|
||||
@ -41,7 +43,8 @@ namespace NadekoBot.Services.Utility
|
||||
if (string.IsNullOrWhiteSpace(creds.PatreonAccessToken))
|
||||
return;
|
||||
_log = LogManager.GetCurrentClassLogger();
|
||||
Updater = new Timer(async (load) => await RefreshPledges((bool)load), client.ShardId == 0, TimeSpan.Zero, Interval);
|
||||
Updater = new Timer(async (load) => await RefreshPledges((bool)load),
|
||||
client.ShardId == 0, client.ShardId == 0 ? TimeSpan.Zero : TimeSpan.FromMinutes(2), Interval);
|
||||
}
|
||||
|
||||
public async Task RefreshPledges(bool shouldLoad)
|
||||
@ -93,11 +96,15 @@ namespace NadekoBot.Services.Utility
|
||||
{
|
||||
getPledgesLocker.Release();
|
||||
}
|
||||
Console.WriteLine("Pledges loaded from the website");
|
||||
}
|
||||
else
|
||||
{
|
||||
if(File.Exists(cacheFileName))
|
||||
Pledges = JsonConvert.DeserializeObject<PatreonUserAndReward[]>(File.ReadAllText("./patreon_rewards.json"))
|
||||
.ToImmutableArray();
|
||||
|
||||
Console.WriteLine("Pledges loaded from the file");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user