I have a discord bot which sends private messages. Once I tried doing this command on my main discord account and it worked, and on my other account, it didn't work. I tried doing this again on my main account (I restarted the bot beforehand) and it didn't work. I also have a problem where I can't execute commands just by PM'ing the bot. Here is my code for a command that I am trying to use.
[Command("accounts",RunMode = RunMode.Async)]
public async Task AccountsCommandHelp()
{
var user = UserAccounts.UserAccounts.GetAccount(Context.User);
user = UserAccounts.UserAccounts.GetAccount(Context.User);
string p = user.prefix;
string message = "**Commands:**\n" +
$"**{p}account stats @useryouwanttogetthestatsof** Gets the stats of the specified user. You don't have to specify a user. By default, the user specified is yourself \n \n" +
$"**{p}account sendmsg** Disables some messsages the bot sends.";
if (!Logic.IsPrivateMessage(Context.Message))
{
var h = Context.User.GetOrCreateDMChannelAsync();
SocketDMChannel c = await h as SocketDMChannel;
await Context.Message.DeleteAsync();
if (user.likesToSendMessages)
{
await Context.Channel.SendMessageAsync(":white_check_mark: Sent you a DM with information :)");
}
await c.SendMessageAsync(message);
}
else
{
await Context.Channel.SendMessageAsync(message);
}
}