private bool ParseVariableTrigger(CommsLayerMessage msg) { var dv = JsonConvert.DeserializeObject <VariableDataDBO>(data.ToString()); string variableName, value; switch (modifier) { case (int)SingleVariableTriggerModifiers.MatchPresetToValue: variableName = dv.variable; value = dv.value; return(UserVariablesSingleton.DoesSingleVariableMatch(variableName, value)); case (int)SingleVariableTriggerModifiers.MatchMessageToValue: if (msg.type != CommsLayerMessage.Type.Text) { return(false); } variableName = dv.variable; value = msg.message.ToString(); return(UserVariablesSingleton.DoesSingleVariableMatch(variableName, value)); default: return(false); } }
private void ParseDictionaryReaction(CommsLayerMessage clm) { var key = clm.senderId.ToString(); var dv = JsonConvert.DeserializeObject <VariableDataDBO>(data.ToString()); switch (modifier) { case (int)DictionaryVariableReactionModifiers.SavePresetValue: UserVariablesSingleton.SetDictionaryVariableItem(dv.variable, key, dv.value); break; case (int)DictionaryVariableReactionModifiers.SaveUserMessage: if (clm.type != CommsLayerMessage.Type.Text) { return; } UserVariablesSingleton.SetDictionaryVariableItem(dv.variable, key, (string)clm.message); break; case (int)DictionaryVariableReactionModifiers.DeleteEntry: UserVariablesSingleton.DeleteDictionaryVariable(dv.variable, key); break; } }
private void ParseSpecialReaction(CommsLayerMessage msg) { switch (modifier) { case (int)IOReactionModifiers.CreateCSV: var csvMetadata = JsonConvert.DeserializeObject <CsvMetadataDBO>(data.ToString()); UserVariablesSingleton.DumpToCSV(csvMetadata); break; case (int)IOReactionModifiers.SaveImage: var fileMetadata = (Telegram.Bot.Types.File)msg.message; var imageMetadata = JsonConvert.DeserializeObject <ImageMetadataDBO>(data.ToString()); FileManager.DownloadAndSaveFile(fileMetadata.FilePath, $"{msg.senderId}{imageMetadata.suffix}.jpg", imageMetadata.subfolderName); break; } }
private bool ParseDictionaryTrigger(CommsLayerMessage msg) { var dv = JsonConvert.DeserializeObject <VariableDataDBO>(data.ToString()); string dictionaryName, userId, value; switch (modifier) { case (int)DictionaryVariableTriggerModifiers.MatchMessageToValue: if (msg.type != CommsLayerMessage.Type.Text) { return(false); } dictionaryName = dv.variable; userId = msg.senderId.ToString(); value = msg.message.ToString(); return(UserVariablesSingleton.DoesDictionaryVariableMatch(dictionaryName, userId, value)); case (int)DictionaryVariableTriggerModifiers.MatchPresetToValue: dictionaryName = dv.variable; userId = msg.senderId.ToString(); value = dv.value; return(UserVariablesSingleton.DoesDictionaryVariableMatch(dictionaryName, userId, value)); case (int)DictionaryVariableTriggerModifiers.KeyExists: dictionaryName = dv.variable; userId = msg.senderId.ToString(); return(UserVariablesSingleton.DoesDictionaryVariableUserExist(dictionaryName, userId)); default: return(false); } }