Added Debug command
This commit is contained in:
129
Program.cs
129
Program.cs
@@ -26,7 +26,7 @@ class Program
|
|||||||
});
|
});
|
||||||
|
|
||||||
await Client.StartAsync();
|
await Client.StartAsync();
|
||||||
await Client.CurrentUser.ModifySelfAsync(statusText: new Option<string>("Always Evolving!"));
|
await Client.CurrentUser.ModifySelfAsync(statusText: new Option<string>("God please someone kill me."));
|
||||||
await Client.CurrentUser.ModifySelfAsync(statusType: new Option<UserStatusType>(UserStatusType.Focus));
|
await Client.CurrentUser.ModifySelfAsync(statusType: new Option<UserStatusType>(UserStatusType.Focus));
|
||||||
CommandHandler CommandHandler = new CommandHandler(Client);
|
CommandHandler CommandHandler = new CommandHandler(Client);
|
||||||
CommandHandler.LoadCommands();
|
CommandHandler.LoadCommands();
|
||||||
@@ -79,18 +79,18 @@ public class CommandHandler
|
|||||||
context.Channel.SendMessageAsync("Error: " + result.ErrorReason);
|
context.Channel.SendMessageAsync("Error: " + result.ErrorReason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Only god and the dude behing RevoltSharp know what's going on here.
|
// Only god and the dude behind RevoltSharp know what's going on here.
|
||||||
}
|
}
|
||||||
public class Commands : ModuleBase
|
public class Commands : ModuleBase
|
||||||
{
|
{
|
||||||
|
|
||||||
// Help commands:
|
// Help commands:
|
||||||
// Basic Help Command.
|
// Basic Help Command.
|
||||||
[Command("help")]
|
[Command("help")]
|
||||||
public async Task Help()
|
public async Task Help()
|
||||||
{
|
{
|
||||||
var helpMessage = "### List of available commands:\n\n" +
|
var helpMessage = "#### List of available commands:\n\n" +
|
||||||
"### Practical Commands: \n" +
|
"#### Practical Commands: \n" +
|
||||||
"`?help` - Displays this command.\n" +
|
"`?help` - Displays this command.\n" +
|
||||||
"`?source` - Links to the bots source code. \n" +
|
"`?source` - Links to the bots source code. \n" +
|
||||||
"`?credits` - Displays bot's credit.\n" +
|
"`?credits` - Displays bot's credit.\n" +
|
||||||
@@ -100,7 +100,7 @@ public class Commands : ModuleBase
|
|||||||
"`?mod-help` - Displays a list of available mod commands. \n " +
|
"`?mod-help` - Displays a list of available mod commands. \n " +
|
||||||
"`?ping` - tests the bot ping. \n" +
|
"`?ping` - tests the bot ping. \n" +
|
||||||
"`?nsfw-help` - Sends a list of all aviable nsfw commands. \n " +
|
"`?nsfw-help` - Sends a list of all aviable nsfw commands. \n " +
|
||||||
"### Fun Commands: \n" +
|
"#### Fun Commands: \n" +
|
||||||
"`?dice` - Rolls a random number between 1 and 6.\n" +
|
"`?dice` - Rolls a random number between 1 and 6.\n" +
|
||||||
"`?say` - says what the user told it to say!. \n" +
|
"`?say` - says what the user told it to say!. \n" +
|
||||||
"`?dm` - Just DMs the user Hi :3. \n" +
|
"`?dm` - Just DMs the user Hi :3. \n" +
|
||||||
@@ -136,7 +136,7 @@ public class Commands : ModuleBase
|
|||||||
await ReplyAsync("### Here are all the available NSFW commands: \n `?r34 {search}` - Searches rule34.xxx \n `?hentai` - Grabs a random hentai image \n ");
|
await ReplyAsync("### Here are all the available NSFW commands: \n `?r34 {search}` - Searches rule34.xxx \n `?hentai` - Grabs a random hentai image \n ");
|
||||||
}
|
}
|
||||||
// End of the help command Section
|
// End of the help command Section
|
||||||
|
|
||||||
// Dm Commands (commands that dm the user in some way.):
|
// Dm Commands (commands that dm the user in some way.):
|
||||||
// Invite Command - Sends a invite in the DM
|
// Invite Command - Sends a invite in the DM
|
||||||
[Command("invite")]
|
[Command("invite")]
|
||||||
@@ -154,12 +154,78 @@ public class Commands : ModuleBase
|
|||||||
"https://app.haydar.dev/bot/01HA55V3K8B26T87TBKMZMWRKJ \n" +
|
"https://app.haydar.dev/bot/01HA55V3K8B26T87TBKMZMWRKJ \n" +
|
||||||
"but if you on nightly.haydar.dev use this link \n" +
|
"but if you on nightly.haydar.dev use this link \n" +
|
||||||
"https://nightly.haydar.dev/bot/01HA55V3K8B26T87TBKMZMWRKJ \n" +
|
"https://nightly.haydar.dev/bot/01HA55V3K8B26T87TBKMZMWRKJ \n" +
|
||||||
"If you find any bugs report them to the bots creator. thank you bai");
|
"If you find any bugs report them to the bots creator. Thank you bye!");
|
||||||
}
|
}
|
||||||
|
[Command("debug")]
|
||||||
|
public async Task Debug()
|
||||||
|
{
|
||||||
|
DMChannel DM = await Context.User.GetDMChannelAsync();
|
||||||
|
if (DM == null)
|
||||||
|
{
|
||||||
|
await ReplyAsync("Your code is so messed up that even DMs are broken :skull: wow");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Send initial message
|
||||||
|
await DM.SendMessageAsync("DMs work if you received this message.");
|
||||||
|
await DM.SendMessageAsync("-----");
|
||||||
|
await DM.SendMessageAsync("You should recive the ping of the bot and a shitpost");
|
||||||
|
// Ping part
|
||||||
|
var stopwatch = new Stopwatch();
|
||||||
|
stopwatch.Start();
|
||||||
|
await DM.SendMessageAsync("-----");
|
||||||
|
stopwatch.Stop();
|
||||||
|
var latency = stopwatch.ElapsedMilliseconds;
|
||||||
|
await DM.SendMessageAsync($"The ping is: {latency}ms");
|
||||||
|
await DM.SendMessageAsync("-----");
|
||||||
|
// Shitpost part
|
||||||
|
await SendRandomMeme(DM);
|
||||||
|
await DM.SendMessageAsync("If you saw a Shitpost and the ping of the bot everything should work correctly.");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
|
||||||
|
await DM.SendMessageAsync($"An error occurred: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Shitpost Logic
|
||||||
|
private async Task SendRandomMeme(DMChannel DM)
|
||||||
|
{
|
||||||
|
const string apiUrl = "https://api.thedailyshitpost.net/random";
|
||||||
|
|
||||||
|
using (HttpClient client = new HttpClient())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
HttpResponseMessage response = await client.GetAsync(apiUrl);
|
||||||
|
|
||||||
|
if (response.IsSuccessStatusCode)
|
||||||
|
{
|
||||||
|
string memeJson = await response.Content.ReadAsStringAsync();
|
||||||
|
dynamic memeObject = Newtonsoft.Json.JsonConvert.DeserializeObject(memeJson);
|
||||||
|
|
||||||
|
string title = memeObject.title;
|
||||||
|
string imageUrl = memeObject.url;
|
||||||
|
|
||||||
|
await DM.SendMessageAsync($"{imageUrl}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await DM.SendMessageAsync("Sorry, The Shitpost API is having issues again.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
await DM.SendMessageAsync($"An error occurred while fetching a meme: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// End of the Debug command.
|
||||||
// End of DM commands.
|
// End of DM commands.
|
||||||
|
|
||||||
// Debug commands.
|
// Debug commands.
|
||||||
|
|
||||||
// Very Simple test Command
|
// Very Simple test Command
|
||||||
[Command("test")]
|
[Command("test")]
|
||||||
public async Task Test()
|
public async Task Test()
|
||||||
@@ -181,7 +247,7 @@ public class Commands : ModuleBase
|
|||||||
await ReplyAsync($"Pong! (Latency: {latency}ms)");
|
await ReplyAsync($"Pong! (Latency: {latency}ms)");
|
||||||
}
|
}
|
||||||
// End of the Debug commands.
|
// End of the Debug commands.
|
||||||
|
|
||||||
// Fun commands:
|
// Fun commands:
|
||||||
// Gif command
|
// Gif command
|
||||||
[Command("gif")]
|
[Command("gif")]
|
||||||
@@ -196,7 +262,7 @@ public class Commands : ModuleBase
|
|||||||
|
|
||||||
string apiKey = Configuration["GiphyApiKey"];
|
string apiKey = Configuration["GiphyApiKey"];
|
||||||
string apiUrl = $"https://api.giphy.com/v1/gifs/search?api_key={apiKey}&q={keyword}&limit=1";
|
string apiUrl = $"https://api.giphy.com/v1/gifs/search?api_key={apiKey}&q={keyword}&limit=1";
|
||||||
|
|
||||||
HttpResponseMessage response = await client.GetAsync(apiUrl);
|
HttpResponseMessage response = await client.GetAsync(apiUrl);
|
||||||
|
|
||||||
if (response.IsSuccessStatusCode)
|
if (response.IsSuccessStatusCode)
|
||||||
@@ -221,7 +287,7 @@ public class Commands : ModuleBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// A Rock paper Scicors command.
|
// A Rock paper Scicors command.
|
||||||
[Command("rps")]
|
[Command("rps")]
|
||||||
public async Task Rps([Remainder] string userChoice = null)
|
public async Task Rps([Remainder] string userChoice = null)
|
||||||
@@ -271,7 +337,7 @@ public class Commands : ModuleBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Very simple very say command.
|
// Very simple very say command.
|
||||||
private List<string> blacklist = new List<string>
|
private List<string> blacklist = new List<string>
|
||||||
{
|
{
|
||||||
"nigga", "nigger", "n i g g a", "fuck", "shit", "piss", "cunt", "dick", "fag", "faggot", "kys", "ky$", // Blacklist for the say command
|
"nigga", "nigger", "n i g g a", "fuck", "shit", "piss", "cunt", "dick", "fag", "faggot", "kys", "ky$", // Blacklist for the say command
|
||||||
};
|
};
|
||||||
@@ -313,7 +379,7 @@ public class Commands : ModuleBase
|
|||||||
}
|
}
|
||||||
// End of the Fun commands.
|
// End of the Fun commands.
|
||||||
// Api commands
|
// Api commands
|
||||||
|
|
||||||
// Advice command.
|
// Advice command.
|
||||||
[Command("advice")]
|
[Command("advice")]
|
||||||
public async Task Advice()
|
public async Task Advice()
|
||||||
@@ -617,7 +683,7 @@ public class Commands : ModuleBase
|
|||||||
{
|
{
|
||||||
await ReplyAsync("This bot is made using revoltsharp by Purplebored known as Kniaż Jarema on nightly");
|
await ReplyAsync("This bot is made using revoltsharp by Purplebored known as Kniaż Jarema on nightly");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Avatar command
|
// Avatar command
|
||||||
[Command("avatar")]
|
[Command("avatar")]
|
||||||
public async Task AvatarCommand()
|
public async Task AvatarCommand()
|
||||||
@@ -789,31 +855,30 @@ public class Commands : ModuleBase
|
|||||||
[Command("hentai")]
|
[Command("hentai")]
|
||||||
public async Task hentai()
|
public async Task hentai()
|
||||||
{
|
{
|
||||||
if (!(Context.Channel is TextChannel textChannel) || !textChannel.IsNsfw)
|
if (!(Context.Channel is TextChannel textChannel) || !textChannel.IsNsfw)
|
||||||
{
|
{
|
||||||
await Context.Channel.SendMessageAsync(
|
await Context.Channel.SendMessageAsync(
|
||||||
"This command is only allowed in NSFW channels. So go to a NSFW channel to get your NSFW smh");
|
"This command is only allowed in NSFW channels. So go to a NSFW channel to get your NSFW smh");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
using (HttpClient client = new HttpClient())
|
using (HttpClient client = new HttpClient())
|
||||||
{
|
|
||||||
string apiUrl = "https://nekobot.xyz/api/image?type=hneko";
|
|
||||||
HttpResponseMessage response = await client.GetAsync(apiUrl);
|
|
||||||
|
|
||||||
if (response.IsSuccessStatusCode)
|
|
||||||
{
|
{
|
||||||
string nekoJson = await response.Content.ReadAsStringAsync();
|
string apiUrl = "https://nekobot.xyz/api/image?type=hneko";
|
||||||
dynamic nekoObject = Newtonsoft.Json.JsonConvert.DeserializeObject(nekoJson);
|
HttpResponseMessage response = await client.GetAsync(apiUrl);
|
||||||
|
|
||||||
string imageUrl = nekoObject["message"];
|
if (response.IsSuccessStatusCode)
|
||||||
|
{
|
||||||
|
string nekoJson = await response.Content.ReadAsStringAsync();
|
||||||
|
dynamic nekoObject = Newtonsoft.Json.JsonConvert.DeserializeObject(nekoJson);
|
||||||
|
|
||||||
await ReplyAsync(imageUrl);
|
string imageUrl = nekoObject["message"];
|
||||||
}
|
|
||||||
else
|
await ReplyAsync(imageUrl);
|
||||||
{
|
}
|
||||||
await ReplyAsync("Sorry, I couldn't fetch a neko image at the moment. Please try again later.");
|
else
|
||||||
|
{
|
||||||
|
await ReplyAsync("Sorry, I couldn't fetch a neko image at the moment. Please try again later.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user