C# - Discord Bot inconsistently sending private messages
up vote
0
down vote
favorite
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);
}
}
c# message discord.net
add a comment |
up vote
0
down vote
favorite
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);
}
}
c# message discord.net
Do you get any exceptions?
– Oram
20 hours ago
It seems a bit unnecessary to execute theGetAccount
twice here
– MX D
19 hours ago
Oram, I have no exceptions. MX D I removed one GetAccount code, but I still can't PM the bot to do a command.
– ChristopherIsFun
5 hours ago
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
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);
}
}
c# message discord.net
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);
}
}
c# message discord.net
c# message discord.net
asked 22 hours ago
ChristopherIsFun
23
23
Do you get any exceptions?
– Oram
20 hours ago
It seems a bit unnecessary to execute theGetAccount
twice here
– MX D
19 hours ago
Oram, I have no exceptions. MX D I removed one GetAccount code, but I still can't PM the bot to do a command.
– ChristopherIsFun
5 hours ago
add a comment |
Do you get any exceptions?
– Oram
20 hours ago
It seems a bit unnecessary to execute theGetAccount
twice here
– MX D
19 hours ago
Oram, I have no exceptions. MX D I removed one GetAccount code, but I still can't PM the bot to do a command.
– ChristopherIsFun
5 hours ago
Do you get any exceptions?
– Oram
20 hours ago
Do you get any exceptions?
– Oram
20 hours ago
It seems a bit unnecessary to execute the
GetAccount
twice here– MX D
19 hours ago
It seems a bit unnecessary to execute the
GetAccount
twice here– MX D
19 hours ago
Oram, I have no exceptions. MX D I removed one GetAccount code, but I still can't PM the bot to do a command.
– ChristopherIsFun
5 hours ago
Oram, I have no exceptions. MX D I removed one GetAccount code, but I still can't PM the bot to do a command.
– ChristopherIsFun
5 hours ago
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372099%2fc-sharp-discord-bot-inconsistently-sending-private-messages%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Do you get any exceptions?
– Oram
20 hours ago
It seems a bit unnecessary to execute the
GetAccount
twice here– MX D
19 hours ago
Oram, I have no exceptions. MX D I removed one GetAccount code, but I still can't PM the bot to do a command.
– ChristopherIsFun
5 hours ago