public bool HandleEvent(string payload) { var jsonObj = JObject.Parse(payload); ConsoleMessenger.PrintError("Could not parse Unknown Type: " + jsonObj["type"].ToString()); return(true); }
//THIS IS A RECURSIVE FUNCTION public static WebSocketSharp.WebSocket GetSocket() { if (CurrentAttempt <= ConnectionAttempts) { if (ConnectedSocket != null) { CurrentAttempt = 0; return(ConnectedSocket); } else { CurrentAttempt++; ConsoleMessenger.PrintError("Trying to reconnect"); Connect(); return(GetSocket()); } } ConsoleMessenger.PrintError("Connection To Slack Failed\nPress ENTER to exit or type \"retry\" to try again"); var input = Console.ReadLine(); if (input == "retry") { CurrentAttempt = 0; GetSocket(); } Environment.Exit(0); return(null); }
private void StartSpecificGame(User targetPlayer, string requestingPlayerId, string requestingPlayerName, string channel) { Channel ChannelInfo = APICalls.GetChannelInfo(channel); List <string> UsersInChannel = ChannelInfo.members.ToList(); if (UsersInChannel.Contains(targetPlayer.id)) { GameRound newRound = new GameRound { PlayerOne = requestingPlayerId, PlayerTwo = targetPlayer.id, Channel = channel, PlayerSpecific = true }; Sender.SendMessage(new RTMMessageOut { channel = channel, text = $"{requestingPlayerName} wants to fist bump {targetPlayer.name}" }); ConsoleMessenger.PrintSuccess($"New game started by {requestingPlayerId}"); CurrentGames.Add(newRound); } else { Sender.SendMessage(new RTMMessageOut { channel = channel, text = $"{targetPlayer.name} is not this channel" }); } }
private void StartOpenGame(GameRound newRound, string playerName) { CurrentGames.Add(newRound); Sender.SendMessage(new RTMMessageOut { channel = newRound.Channel, text = $"{playerName} is looking for a fistbump! \nType \"!FistBump\" to bump {playerName} back!" }); ConsoleMessenger.PrintSuccess($"New game started by {playerName}"); }
public static void JoinChannel(string channelName) { APICaller AC = new APICaller(); var content = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("token", SlackConnector.AuthToken), new KeyValuePair <string, string>("name", channelName) }); AC.CallAPI(content, "https://slack.com/api/channels.join"); ConsoleMessenger.PrintSuccess("Joined Channel: " + channelName); }
/// <summary> /// Returns a user if found, else it returns null /// </summary> /// <param name="NameOrId"></param> /// <returns>a User</returns> public static User FindUser(string NameOrId) { foreach (var u in GetUsers()) { if (u.name.Equals(NameOrId) || u.id.Equals(NameOrId)) { return(u); } } ConsoleMessenger.PrintError($"{NameOrId} not found"); return(null); }
public static void BacktestBinanceTrades() { var msg1 = new ConsoleMessenger(); /*var symbols = new string[] { "NEOBTC", "NEOETH", "TRXBTC", "TRXETH", "XMRBTC", "XMRETH", "XRPBTC", "XRPETH", * "ZECBTC", "ZECETH", "ZRXBTC", "ZRXETH" , "ASTBTC", "ASTETH", "LTCBNB", "LTCBTC", "LTCETH", "LTCUSDT" * };*/ var symbols = new string[] { "ADABTC", "ADAETH", "ADXBNB", "ADXBTC", "ADXETH", "AEBNB", "AEBTC", "AEETH", "AIONBNB", "AIONBTC", "AIONETH", "AMBBNB", "AMBBTC", "AMBETH", "APPCBNB", "APPCBTC", "APPCETH", "ARKBTC", "ARKETH", "ARNBTC", "ARNETH", "ASTBTC", "ASTETH", "BATBNB", "BATBTC", "BATETH", "BCCBNB", "BCCBTC", "BCCETH", "BCCUSDT", "BCDBTC", "BCDETH", "BCPTBNB", "BCPTBTC", "BCPTETH", "BLZBNB", "BLZBTC", "BLZETH", "BNBBTC", "BNBETH", "BNBUSDT", "BNTBTC", "BNTETH", "BQXBTC", "BQXETH", "BRDBNB", "BRDBTC", "BRDETH", "BTCUSDT", "BTGBTC", "BTGETH", "BTSBNB", "BTSBTC", "BTSETH", "CDTBTC", "CDTETH", "CHATBTC", "CHATETH", "CMTBNB", "CMTBTC", "CMTETH", "CNDBNB", "CNDBTC", "CNDETH", "CTRBTC", "CTRETH", "DASHBTC", "DASHETH", "DGDBTC", "DGDETH", "DLTBNB", "DLTBTC", "DLTETH", "DNTBTC", "DNTETH", "EDOBTC", "EDOETH", "ELFBTC", "ELFETH", "ENGBTC", "ENGETH", "ENJBTC", "ENJETH", "EOSBTC", "EOSETH", "ETCBTC", "ETCETH", "ETHBTC", "ETHUSDT", "EVXBTC", "EVXETH", "FUELBTC", "FUELETH", "FUNBTC", "FUNETH", "GASBTC", "GTOBNB", "GTOBTC", "GTOETH", "GVTBTC", "GVTETH", "GXSBTC", "GXSETH", "HSRBTC", "HSRETH", "ICNBTC", "ICNETH", "ICXBNB", "ICXBTC", "ICXETH", "INSBTC", "INSETH", "IOSTBTC", "IOSTETH", "IOTABNB", "IOTABTC", "IOTAETH", "KMDBTC", "KMDETH", "KNCBTC", "KNCETH", "LENDBTC", "LENDETH", "LINKBTC", "LINKETH", "LRCBTC", "LRCETH", "LSKBNB", "LSKBTC", "LSKETH", "LTCBNB", "LTCBTC", "LTCETH", "LTCUSDT", "LUNBTC", "LUNETH", "MANABTC", "MANAETH", "MCOBNB", "MCOBTC", "MCOETH", "MDABTC", "MDAETH", "MODBTC", "MODETH", "MTHBTC", "MTHETH", "MTLBTC", "MTLETH", "NANOBNB", "NANOBTC", "NANOETH", "NAVBNB", "NAVBTC", "NAVETH", "NEBLBNB", "NEBLBTC", "NEBLETH", "NEOBNB", "NEOBTC", "NEOETH", "NEOUSDT", "NULSBNB", "NULSBTC", "NULSETH", "OAXBTC", "OAXETH", "OMGBTC", "OMGETH", "OSTBNB", "OSTBTC", "OSTETH", "PIVXBNB", "PIVXBTC", "PIVXETH", "POEBTC", "POEETH", "POWRBNB", "POWRBTC", "POWRETH", "PPTBTC", "PPTETH", "QSPBNB", "QSPBTC", "QSPETH", "QTUMBTC", "QTUMETH", "RCNBNB", "RCNBTC", "RCNETH", "RDNBNB", "RDNBTC", "RDNETH", "REQBTC", "REQETH", "RLCBNB", "RLCBTC", "RLCETH", "SALTBTC", "SALTETH", "SNGLSBTC", "SNGLSETH", "SNMBTC", "SNMETH", "SNTBTC", "SNTETH", "STEEMBNB", "STEEMBTC", "STEEMETH", "STORJBTC", "STORJETH", "STRATBTC", "STRATETH", "SUBBTC", "SUBETH", "TNBBTC", "TNBETH", "TNTBTC", "TNTETH", "TRIGBNB", "TRIGBTC", "TRIGETH", "TRXBTC", "TRXETH", "VENBNB", "VENBTC", "VENETH", "VIABNB", "VIABTC", "VIAETH", "VIBBTC", "VIBEBTC", "VIBEETH", "VIBETH", "WABIBNB", "WABIBTC", "WABIETH", "WAVESBNB", "WAVESBTC", "WAVESETH", "WINGSBTC", "WINGSETH", "WTCBNB", "WTCBTC", "WTCETH", "XLMBNB", "XLMBTC", "XLMETH", "XMRBTC", "XMRETH", "XRPBTC", "XRPETH", "XVGBTC", "XVGETH", "XZCBNB", "XZCBTC", "XZCETH", "YOYOBNB", "YOYOBTC", "YOYOETH", "ZECBTC", "ZECETH", "ZRXBTC", "ZRXETH" }; foreach (string s in symbols) { var b1 = new BinanceTradeMACD(binance, s, msg1); b1.StartTrade(0.1M, 1, tradeLive: false, backTestOnly: true); var b5 = new BinanceTradeMACD(binance, s, msg1); b5.StartTrade(0.1M, 5, tradeLive: false, backTestOnly: true); var b15 = new BinanceTradeMACD(binance, s, msg1); b15.StartTrade(0.1M, 15, tradeLive: false, backTestOnly: true); var b30 = new BinanceTradeMACD(binance, s, msg1); b30.StartTrade(0.1M, 30, tradeLive: false, backTestOnly: true); var b60 = new BinanceTradeMACD(binance, s, msg1); b60.StartTrade(0.1M, 60, tradeLive: false, backTestOnly: true); } }
static void Main(string[] args) { var messager = new ConsoleMessenger(); var inputProcess = new ConsoleProcessUserInput(messager); var consoleHandler = new ConsoleBoardHandler() { Board = new Board { SizeX = 100, SizeY = 20 }, Hero = new Hero() { PositionX = 10, PositionY = 10, Symbol = "+" }, Bombs = new List <Bomb>() { new Bomb() { PositionX = 12, PositionY = 15, Symbol = "x" }, new Bomb() { PositionX = 50, PositionY = 15, Symbol = "x" }, new Bomb() { PositionX = 56, PositionY = 11, Symbol = "x" }, new Bomb() { PositionX = 34, PositionY = 5, Symbol = "x" }, new Bomb() { PositionX = 8, PositionY = 19, Symbol = "x" } } }; new AppLogic(messager, consoleHandler, inputProcess).Run(); }
public static void Load() { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings.Clear(); try { var lines = File.ReadLines(".env"); foreach (var line in lines) { var data = line.Split('='); config.AppSettings.Settings.Add(data[0], data[1]); config.Save(ConfigurationSaveMode.Modified, true); ConfigurationManager.RefreshSection("appSettings"); } } catch (FileNotFoundException) { ConsoleMessenger.PrintError("Could not locate .env file"); } catch (PathTooLongException) { ConsoleMessenger.PrintError("File path too long"); } ConsoleMessenger.PrintSuccess(".env loaded"); }
private void FinishGame(GameRound round, string requestingPlayerName = "", string requestingPlayerId = "") { if (!round.PlayerSpecific) { //finish open game round.PlayerTwo = requestingPlayerId; ArchiveGame(round); Sender.SendMessage(new RTMMessageOut { channel = round.Channel, text = $"{requestingPlayerName} Fist bumped {Users.FindUser(round.PlayerOne).name} back!" }); ConsoleMessenger.PrintSuccess("Game Finished"); } else { //finish specific game ArchiveGame(round); Sender.SendMessage(new RTMMessageOut { channel = round.Channel, text = $"{Users.FindUser(round.PlayerTwo).name} Fist bumped {Users.FindUser(round.PlayerOne).name} back!" }); } }
static void OnClose(object sender, EventArgs e) { ConsoleMessenger.PrintWarning("Shutting Down"); SlackConnector.GetSocket().CloseAsync(); }
private static void OnOpen(object sender, EventArgs e) { ConsoleMessenger.PrintSuccess("Connected to slack websocket"); }