A lot of bugfixes

This commit is contained in:
Kwoth 2016-10-12 23:41:31 +02:00
parent 45e3e3d8be
commit 0b09379bc5
7 changed files with 68 additions and 7 deletions

View File

@ -50,6 +50,23 @@ namespace NadekoBot.Modules.Administration
}
}
[NadekoCommand, Usage, Description, Aliases]
[RequireContext(ContextType.Guild)]
[RequirePermission(GuildPermission.Administrator)]
public async Task ResetPermissions(IUserMessage imsg)
{
var channel = (ITextChannel)imsg.Channel;
using (var uow = DbHandler.UnitOfWork())
{
var config = uow.GuildConfigs.PermissionsFor(channel.Guild.Id);
config.RootPermission = Permission.GetDefaultRoot();
await uow.CompleteAsync();
}
await channel.SendMessageAsync($"{imsg.Author.Mention} :ok: `Permissions for this server are reset`");
}
[NadekoCommand, Usage, Description, Aliases]
[RequireContext(ContextType.Guild)]
[OwnerOnly]

View File

@ -51,7 +51,7 @@ namespace NadekoBot.Modules.Administration
while (!token.IsCancellationRequested)
{
await Task.Delay(Repeater.Interval, token).ConfigureAwait(false);
try { await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); }
try { await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); try { source.Cancel(); } catch { } }
}
}
catch (OperationCanceledException) { }

View File

@ -146,7 +146,7 @@ namespace NadekoBot.Modules.Games
IUserMessage msg;
var vowelFirst = new[] { 'a', 'e', 'i', 'o', 'u' }.Contains(Gambling.Gambling.CurrencyName[0]);
var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using {NadekoBot.ModulePrefixes[typeof(Gambling.Gambling).Name]}pick";
var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using {NadekoBot.ModulePrefixes[typeof(Games).Name]}pick";
if (file == null)
{
msg = await channel.SendMessageAsync(Gambling.Gambling.CurrencySign).ConfigureAwait(false);

View File

@ -1,4 +1,5 @@
using Discord;
using Discord.Net;
using NadekoBot.Extensions;
using NLog;
using System;
@ -61,7 +62,12 @@ namespace NadekoBot.Modules.Games.Trivia
}
oldQuestions.Add(CurrentQuestion); //add it to exclusion list so it doesn't show up again
//sendquestion
try { await channel.SendMessageAsync($":question: **{CurrentQuestion.Question}**").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); }
try { await channel.SendMessageAsync($":question: **{CurrentQuestion.Question}**").ConfigureAwait(false); }
catch (HttpException ex) when (ex.StatusCode == System.Net.HttpStatusCode.Forbidden)
{
break;
}
catch (Exception ex) { _log.Warn(ex); }
//receive messages
NadekoBot.Client.MessageReceived += PotentialGuess;
@ -88,13 +94,15 @@ namespace NadekoBot.Modules.Games.Trivia
// load next question if game is still running
await Task.Delay(2000).ConfigureAwait(false);
}
try { NadekoBot.Client.MessageReceived -= PotentialGuess; } catch { }
GameActive = false;
await End().ConfigureAwait(false);
}
private async Task End()
{
ShouldStopGame = true;
await channel.SendMessageAsync("**Trivia game ended**\n" + GetLeaderboard()).ConfigureAwait(false);
try { await channel.SendMessageAsync("**Trivia game ended**\n" + GetLeaderboard()).ConfigureAwait(false); } catch { }
}
public async Task StopGame()
@ -127,7 +135,7 @@ namespace NadekoBot.Modules.Games.Trivia
{
if (GameActive && CurrentQuestion.IsAnswerCorrect(umsg.Content) && !triviaCancelSource.IsCancellationRequested)
{
Users.AddOrUpdate(guildUser, 0, (gu, old) => old++);
Users.AddOrUpdate(guildUser, 1, (gu, old) => ++old);
guess = true;
}
}
@ -152,7 +160,7 @@ namespace NadekoBot.Modules.Games.Trivia
var sb = new StringBuilder();
sb.Append("**Leaderboard:**\n-----------\n");
foreach (var kvp in Users.OrderBy(kvp => kvp.Value))
foreach (var kvp in Users.OrderByDescending(kvp => kvp.Value))
{
sb.AppendLine($"**{kvp.Key.Username}** has {kvp.Value} points".ToString().SnPl(kvp.Value));
}

View File

@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Searches
checkTimer = new Timer(async (state) =>
{
oldCachedStatuses = new ConcurrentDictionary<string, StreamStatus>(cachedStatuses);
cachedStatuses.Clear();
cachedStatuses = new ConcurrentDictionary<string, StreamStatus>();
try
{
IEnumerable<FollowedStream> streams;

View File

@ -5270,6 +5270,33 @@ namespace NadekoBot.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to resetperms.
/// </summary>
public static string resetpermissions_cmd {
get {
return ResourceManager.GetString("resetpermissions_cmd", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Resets BOT&apos;s permissions module on this server to the default value..
/// </summary>
public static string resetpermissions_desc {
get {
return ResourceManager.GetString("resetpermissions_desc", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to `.resetperms`.
/// </summary>
public static string resetpermissions_usage {
get {
return ResourceManager.GetString("resetpermissions_usage", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to restart.
/// </summary>

View File

@ -2637,4 +2637,13 @@
<data name="forwardtoall_usage" xml:space="preserve">
<value>`.fwtoall`</value>
</data>
<data name="resetpermissions_cmd" xml:space="preserve">
<value>resetperms</value>
</data>
<data name="resetpermissions_desc" xml:space="preserve">
<value>Resets BOT's permissions module on this server to the default value.</value>
</data>
<data name="resetpermissions_usage" xml:space="preserve">
<value>`.resetperms`</value>
</data>
</root>