public async Task ClearCommand(SocketMessage message, BotInstance instance) { Dictionary <string, int> rolls = instance.Rolls; rolls.Clear(); await message.Channel.SendMessageAsync("Initiative order cleared!"); }
public void Handle(SocketMessage message, BotInstance instance) { var msg = message.Content.Split(' '); msg[0] = msg[0].Substring(1, msg[0].Length - 1); commands[msg[0]].Invoke(cons, new object[] { message, instance }); }
public async Task InitCommand(SocketMessage message, BotInstance instance) { Dictionary <string, int> rolls = instance.Rolls; var msg = message.Content.Split(' '); try { if (msg.Length == 2) { var chnl = message.Channel as SocketGuildChannel; string name = chnl.GetUser(message.Author.Id).Nickname; if (name == null) { name = message.Author.Username; } int roll = Convert.ToInt32(msg[1]); if (rolls.ContainsKey(name)) { rolls[name] = roll; } else { rolls.Add(name, roll); } await message.Channel.SendMessageAsync(name + ": " + roll); } else { string name = CommandHandler.StringFromArray(msg.Skip(1).Take(msg.Length - 2).ToArray()); int roll = Convert.ToInt32(msg[msg.Length - 1]); if (rolls.ContainsKey(name)) { rolls[name] = roll; } else { rolls.Add(name, roll); } await message.Channel.SendMessageAsync(name + ": " + roll); } } catch (Exception e) { await message.Channel.SendMessageAsync("!init [roll]\n!init [name] [roll]"); Console.WriteLine(e.Message); } }
private async Task MessageRecieved(SocketMessage message) { var guild = (message.Channel as SocketGuildChannel).Guild; botGuildId = guild.Id; if (!instances.ContainsKey(guild.Id)) { BotInstance inst = new BotInstance(guild); instances.Add(guild.Id, inst); } if (!message.Author.IsBot) { await ResolveCommand(message, instances[guild.Id]); } }
public async Task OrderCommand(SocketMessage message, BotInstance instance) { Dictionary <string, int> rolls = instance.Rolls; if (rolls.Count > 0) { if (rolls.Count != 0) { if (instance.ChannelOrderIds.ContainsKey(message.Channel.Id)) { await message.Channel.DeleteMessageAsync(instance.ChannelOrderIds[message.Channel.Id]); } var orderMessage = await message.Channel.SendMessageAsync(CommandHandler.GetOrder(rolls)); instance.ChannelOrderIds[message.Channel.Id] = orderMessage.Id; Console.WriteLine(instance.ChannelOrderIds[message.Channel.Id] + ": " + orderMessage.Id); } } else { await message.Channel.SendMessageAsync("There are no stored rolls."); } }
public async Task RemoveCommand(SocketMessage message, BotInstance instance) { var msg = message.Content.Split(' '); Dictionary <string, int> rolls = instance.Rolls; if (rolls.Count != 0) { string name = StringFromArray(msg.Skip(1).ToArray()); if (!rolls.Remove(name)) { await message.Channel.SendMessageAsync("Name not found!"); } else { await message.Channel.SendMessageAsync("Removed " + name + "!"); if (instance.ChannelOrderIds.ContainsKey(message.Channel.Id)) { await message.Channel.DeleteMessageAsync(instance.ChannelOrderIds[message.Channel.Id]); } if (rolls.Count != 0) { instance.ChannelOrderIds[message.Channel.Id] = (await message.Channel.SendMessageAsync(GetOrder(rolls))).Id; } else { await message.Channel.SendMessageAsync("Initiative order is now blank!"); } } } else { await message.Channel.SendMessageAsync("Initiative order is empty!"); } }
private async Task ResolveCommand(ConsoleMessage message) { var msg = message.Content.Split(' '); BotInstance instance = instances[botGuildId]; Dictionary <string, int> rolls = instance.Rolls; switch (msg[0]) { case "init": try { string name = CommandHandler.StringFromArray(msg.Skip(1).Take(msg.Length - 2).ToArray()); int roll = Convert.ToInt32(msg[msg.Length - 1]); if (rolls.ContainsKey(name)) { rolls[name] = roll; } else { rolls.Add(name, roll); } }catch (Exception e) { Console.WriteLine("####################################################\n"); Console.WriteLine("Something went wrong with inputting initiative roll."); } break; case "order": Console.WriteLine("####################################################\n"); Console.WriteLine(CommandHandler.GetOrder(rolls)); break; case "clear": rolls.Clear(); Console.WriteLine("####################################################\n"); Console.WriteLine("Rolls cleared."); break; case "remove": try { rolls.Remove(CommandHandler.StringFromArray(msg.Skip(1).ToArray())); Console.WriteLine("####################################################\n"); Console.WriteLine("Removed."); } catch (Exception e) { Console.WriteLine("####################################################\n"); Console.WriteLine("Could not remove name."); } break; case "channel": if (msg.Length == 2) { ulong newId = Convert.ToUInt64(msg[1]); if (instances.ContainsKey(newId)) { botGuildId = newId; Console.WriteLine("####################################################\n"); Console.WriteLine("Guild changed to: " + instances[newId].Guild.Name); } else { Console.WriteLine("####################################################\n"); Console.WriteLine("Channel id does not exist."); } } Console.WriteLine("####################################################\n"); Console.WriteLine(instance.Guild.Name); Console.WriteLine(instance.Guild.Id); break; case "channels": Console.WriteLine("####################################################\n"); foreach (BotInstance inst in instances.Values) { Console.WriteLine(inst.Guild.Name + ": " + inst.Guild.Id); } break; case "say": await instance.Channel.SendMessageAsync(CommandHandler.StringFromArray(msg.Skip(1).ToArray())); Console.WriteLine("####################################################\n"); Console.WriteLine(CommandHandler.StringFromArray(msg.Skip(1).ToArray())); break; default: break; } Console.Write("\n"); Console.WriteLine("####################################################"); Console.Write("\n"); Console.Write("\n"); }
private async Task ResolveCommand(SocketMessage message, BotInstance instance) { ch.Handle(message, instance); }