OkCupid Bot

C# Web Scraping XML

View Code on GitHub

# Description I made this as an experiment a while back. It has been through quite a few iterations but this is probably the most solid one. Since things tend to change on OkCupid quite often it is bound to break every pretty easily. # Arguments ```csharp // Pauses after every 'action' /Debug // Username to be used when logging into okcupid. /Username="{username}" // Password to be used when logging into okcupid. /Password="{password}" // The conditions and requirements for who to send a message to. // File must be inside /Config folder /ProfileSettingsFileName="DefaultProfileSettings.xml" // Config file to determine which message should be sent based on special cases. // File must be inside /Config folder /MessageSettingsFileName="DefaultMessages.xml" // The discord account to login as. (I believe there are special bot accounts that can be used, // so this might not be needed anymore) /DiscordUsername="" /DiscordPassword="" // I don't full remember what this one was for. // I believe it is what is used to detect what the person wants to send from discord. // For example if DiscordMessage was "/okm" // anyone in discord would have to write "/okm Hello sexy, what is your favorite thing to do" // It would then detect that as a message wanting to be sent to the person. /DiscordMessage="" ``` # Profile Settings Xml ```xml ``` # Messages Xml Most advanced conditions should be at the top and smallest conditions should be at the bottom. It will fall through to each MessageGroup below it and check all conditions. So it will add all messages as long as the conditions are met. Adding a MessageGroup with no conditions will make all messages in it be available. Inside the messages you can access variables of the users Profile class (will be updating a wiki probably of all available properties. Eventually you will also be able to access Weather and so on. So if you wanted to access the users height you would do {Profile.Height.Feet} which would insert the value. For the condition key if you wanted to make sure they were above 5 feet you could do the following: ```xml ``` ```xml ``` # Libraries 1. [Selenium WebDriver](https://www.nuget.org/packages/Selenium.WebDriver/) 2. [Selenium WebDriver Support Classes](https://www.nuget.org/packages/Selenium.Support/) 3. [Discord.Net](https://github.com/RogueException/Discord.Net)