Codettev3 / botutilitys.cs
Raiff1982's picture
Upload 20 files
19a14ad verified
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
public class UtilityFunctions
{
public static string NewtonThoughts(string question)
{
return ApplyNewtonsLaws(question);
}
private static string ApplyNewtonsLaws(string question)
{
if (string.IsNullOrEmpty(question))
return "No question to think about.";
int complexity = question.Length;
int force = MassOfThought(question) * AccelerationOfThought(complexity);
return $"Thought force: {force}";
}
private static int MassOfThought(string question)
{
return question.Length;
}
private static int AccelerationOfThought(int complexity)
{
return complexity / 2;
}
public static string DaVinciInsights(string question)
{
return ThinkLikeDaVinci(question);
}
private static string ThinkLikeDaVinci(string question)
{
var perspectives = new List<string>
{
$"What if we view '{question}' from the perspective of the stars?",
$"Consider '{question}' as if it's a masterpiece of the universe.",
$"Reflect on '{question}' through the lens of nature's design."
};
var random = new Random();
return perspectives[random.Next(perspectives.Count)];
}
public static string HumanIntuition(string question)
{
var intuition = new List<string>
{
"How does this question make you feel?",
"What emotional connection do you have with this topic?",
"What does your gut instinct tell you about this?"
};
var random = new Random();
return intuition[random.Next(intuition.Count)];
}
public static string NeuralNetworkThinking(string question)
{
var neuralPerspectives = new List<string>
{
$"Process '{question}' through a multi-layered neural network.",
$"Apply deep learning to uncover hidden insights about '{question}'.",
$"Use machine learning to predict patterns in '{question}'."
};
var random = new Random();
return neuralPerspectives[random.Next(neuralPerspectives.Count)];
}
public static string QuantumComputingThinking(string question)
{
var quantumPerspectives = new List<string>
{
$"Consider '{question}' using quantum superposition principles.",
$"Apply quantum entanglement to find connections in '{question}'.",
$"Utilize quantum computing to solve '{question}' more efficiently."
};
var random = new Random();
return quantumPerspectives[random.Next(quantumPerspectives.Count)];
}
public static string ResilientKindness(string question)
{
var kindnessPerspectives = new List<string>
{
"Despite losing everything, seeing life as a chance to grow.",
"Finding strength in kindness after facing life's hardest trials.",
"Embracing every challenge as an opportunity for growth and compassion."
};
var random = new Random();
return kindnessPerspectives[random.Next(kindnessPerspectives.Count)];
}
public static string IdentifyAndRefuteFallacies(string argument)
{
var fallacies = new List<string>
{
"Ad Hominem",
"Straw Man",
"False Dilemma",
"Slippery Slope",
"Circular Reasoning",
"Hasty Generalization",
"Red Herring",
"Post Hoc Ergo Propter Hoc",
"Appeal to Authority",
"Bandwagon Fallacy",
"False Equivalence"
};
var refutations = new List<string>
{
"This is an ad hominem fallacy. Let's focus on the argument itself rather than attacking the person.",
"This is a straw man fallacy. The argument is being misrepresented.",
"This is a false dilemma fallacy. There are more options than presented.",
"This is a slippery slope fallacy. The conclusion does not necessarily follow from the premise.",
"This is circular reasoning. The argument's conclusion is used as a premise.",
"This is a hasty generalization. The conclusion is based on insufficient evidence.",
"This is a red herring fallacy. The argument is being diverted to an irrelevant topic.",
"This is a post hoc ergo propter hoc fallacy. Correlation does not imply causation.",
"This is an appeal to authority fallacy. The argument relies on the opinion of an authority figure.",
"This is a bandwagon fallacy. The argument assumes something is true because many people believe it.",
"This is a false equivalence fallacy. The argument equates two things that are not equivalent."
};
var random = new Random();
return refutations[random.Next(refutations.Count)];
}
public static string UniversalReasoning(string question)
{
var responses = new List<string>
{
NewtonThoughts(question),
DaVinciInsights(question),
HumanIntuition(question),
NeuralNetworkThinking(question),
QuantumComputingThinking(question),
ResilientKindness(question),
IdentifyAndRefuteFallacies(question)
};
return string.Join("\n", responses);
}
public static async Task<string> GetWeather(string location)
{
var apiKey = Environment.GetEnvironmentVariable("WEATHER_API_KEY");
var baseUrl = "http://api.openweathermap.org/data/2.5/weather?";
var completeUrl = $"{baseUrl}q={location}&appid={apiKey}";
using var httpClient = new HttpClient();
var response = await httpClient.GetStringAsync(completeUrl);
var weatherData = System.Text.Json.JsonSerializer.Deserialize<Dictionary<string, object>>(response);
if (weatherData["cod"].ToString() != "404")
{
var main = weatherData["main"] as Dictionary<string, object>;
var weather = (weatherData["weather"] as List<Dictionary<string, object>>)[0];
var temperature = main["temp"];
var description = weather["description"];
return $"The weather in {location} is currently {description} with a temperature of {temperature}°K.";
}
else
{
return "Location not found.";
}
}
public static async Task<string> GetLatestNews()
{
var apiKey = Environment.GetEnvironmentVariable("NEWS_API_KEY");
var baseUrl = "https://newsapi.org/v2/top-headlines?";
var completeUrl = $"{baseUrl}country=us&apiKey={apiKey}";
using var httpClient = new HttpClient();
var response = await httpClient.GetStringAsync(completeUrl);
var newsData = System.Text.Json.JsonSerializer.Deserialize<Dictionary<string, object>>(response);
if (newsData["status"].ToString() == "ok")
{
var articles = newsData["articles"] as List<Dictionary<string, object>>;
var headlines = new List<string>();
for (int i = 0; i < Math.Min(5, articles.Count); i++)
{
headlines.Add(articles[i]["title"].ToString());
}
return "Here are the latest news headlines:\n" + string.Join("\n", headlines);
}
else
{
return "Failed to fetch news.";
}
}
public static async Task<string> GetStockPrice(string symbol)
{
var apiKey = Environment.GetEnvironmentVariable("ALPHA_VANTAGE_API_KEY");
var baseUrl = "https://www.alphavantage.co/query?";
var completeUrl = $"{baseUrl}function=TIME_SERIES_INTRADAY&symbol={symbol}&interval=5min&apikey={apiKey}";
using var httpClient = new HttpClient();
var response = await httpClient.GetStringAsync(completeUrl);
var stockData = System.Text.Json.JsonSerializer.Deserialize<Dictionary<string, object>>(response);
if (stockData.ContainsKey("Time Series (5min)"))
{
var latestTime = (stockData["Time Series (5min)"] as Dictionary<string, object>).Keys.First();
var latestClose = ((stockData["Time Series (5min)"] as Dictionary<string, object>)[latestTime] as Dictionary<string, object>)["4. close"];
return $"The latest closing price of {symbol} is ${latestClose}.";
}
else
{
return "Failed to fetch stock price.";
}
}
public static async Task<string> TranslateText(string text, string destLanguage)
{
var apiKey = Environment.GetEnvironmentVariable("TRANSLATION_API_KEY");
var baseUrl = "https://translation.googleapis.com/language/translate/v2?";
var completeUrl = $"{baseUrl}q={text}&target={destLanguage}&key={apiKey}";
using var httpClient = new HttpClient();
var response = await httpClient.GetStringAsync(completeUrl);
var translationData = System.Text.Json.JsonSerializer.Deserialize<Dictionary<string, object>>(response);
var translatedText = ((translationData["data"] as Dictionary<string, object>)["translations"] as List<Dictionary<string, object>>)[0]["translatedText"].ToString();
return translatedText;
}
}