Files
nadekobot/src/NadekoBot/Modules/Searches/JokeCommands.cs
Kwoth d5fd6aae8e - More code cleanup and codestyle updates
- Fixed some possible nullref exceptions
- Methods signatures now have up to 3 parameters before breakaing down each parameter in a separate line
- Method invocations have the same rule, except the first parameter will be in the same line as the invocation to prevent some ugliness when passing lambas as arguments
- Applied many more codestyles
- Extensions folder fully reformatted
2021-12-26 17:28:39 +01:00

51 lines
1.7 KiB
C#

using NadekoBot.Modules.Searches.Services;
namespace NadekoBot.Modules.Searches;
public partial class Searches
{
[Group]
public class JokeCommands : NadekoSubmodule<SearchesService>
{
[NadekoCommand, Aliases]
public async Task Yomama()
=> await SendConfirmAsync(await _service.GetYomamaJoke().ConfigureAwait(false)).ConfigureAwait(false);
[NadekoCommand, Aliases]
public async Task Randjoke()
{
var (setup, punchline) = await _service.GetRandomJoke().ConfigureAwait(false);
await SendConfirmAsync(setup, punchline).ConfigureAwait(false);
}
[NadekoCommand, Aliases]
public async Task ChuckNorris()
=> await SendConfirmAsync(await _service.GetChuckNorrisJoke().ConfigureAwait(false)).ConfigureAwait(false);
[NadekoCommand, Aliases]
public async Task WowJoke()
{
if (!_service.WowJokes.Any())
{
await ReplyErrorLocalizedAsync(strs.jokes_not_loaded).ConfigureAwait(false);
return;
}
var joke = _service.WowJokes[new NadekoRandom().Next(0, _service.WowJokes.Count)];
await SendConfirmAsync(joke.Question, joke.Answer).ConfigureAwait(false);
}
[NadekoCommand, Aliases]
public async Task MagicItem()
{
if (!_service.WowJokes.Any())
{
await ReplyErrorLocalizedAsync(strs.magicitems_not_loaded).ConfigureAwait(false);
return;
}
var item = _service.MagicItems[new NadekoRandom().Next(0, _service.MagicItems.Count)];
await SendConfirmAsync("✨" + item.Name, item.Description).ConfigureAwait(false);
}
}
}