{"id":16981400,"url":"https://github.com/matthewt53/ozbargain-discord-bot","last_synced_at":"2025-03-21T23:28:15.240Z","repository":{"id":38046170,"uuid":"213640490","full_name":"matthewT53/OzBargain-Discord-Bot","owner":"matthewT53","description":"This Discord Bot scrapes OzBargain seeking discounts and freebies and promises to post anything it finds to your discord channel.","archived":false,"fork":false,"pushed_at":"2022-12-08T06:16:29.000Z","size":170,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-26T17:47:55.583Z","etag":null,"topics":["csharp","discord-bot","ozbargains","scraper"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matthewT53.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-08T12:48:09.000Z","updated_at":"2022-07-22T00:42:27.000Z","dependencies_parsed_at":"2023-01-24T16:19:14.993Z","dependency_job_id":null,"html_url":"https://github.com/matthewT53/OzBargain-Discord-Bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewT53%2FOzBargain-Discord-Bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewT53%2FOzBargain-Discord-Bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewT53%2FOzBargain-Discord-Bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewT53%2FOzBargain-Discord-Bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewT53","download_url":"https://codeload.github.com/matthewT53/OzBargain-Discord-Bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244883081,"owners_count":20525962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","discord-bot","ozbargains","scraper"],"created_at":"2024-10-14T02:05:25.375Z","updated_at":"2025-03-21T23:28:15.220Z","avatar_url":"https://github.com/matthewT53.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OzBargain Discord Bot\r\n[![Build status](https://ci.appveyor.com/api/projects/status/7hemkueb44yb9r0v?svg=true)](https://ci.appveyor.com/project/matthewT53/discord-scraper-bot)\r\n## What is this about?\r\n* You can add this Discord bot into your channel and it will scrape the ozBargain website for the latest bargains and discounts.\r\n* Many settings such the period between scraping and the post delay of a bargain can all be adjusted with the commands below.\r\n\r\n## Building:\r\n* This project runs on Microsoft C# .Net Core 3 and can be built with Microsoft Visual studio 2019. \r\n### Packages:\r\n* To obtain the required packages, simply use the restore Nuget packages tool in Visual Studio. \r\n\r\n## Configuring:\r\n### Resources/config.json:\r\n* A configuration file with the relative path \"Resources/config.json\" to the executable must be created.\r\n* An example of the config.json contents:\r\n```c#\r\n{\r\n  \"token\": \"Your discord bot token here\",\r\n  \"commandPrefix\": \"$\",\r\n  \"bargainChannelID\": \"Channel ID that the bot will post to\",\r\n  \"scrapeDelay\": 300,\r\n  \"postDelay\": 30,\r\n  \"maxDepth\": 5,\r\n  \"logFile\": \"D:\\\\Projects\\\\Logs\\\\DiscordScraperBot\",\r\n}\r\n```\r\n* **Only the token, commandPrefix and bargainChannelID are required.**\r\n* The Discord bot's token can be found by following [this](https://discordpy.readthedocs.io/en/latest/discord.html).\r\n* To find the channel id, follow this [link](https://stackoverflow.com/questions/41515134/discord-bot-cant-get-channel-by-name).\r\n\r\n## Usage\r\n### Commands:\r\n```markdown\r\n# Bot management commands:\r\nhelp                                Displays the available commands.\r\ninfo                                Shows some statistics about this discord bot.\r\nshow_scrape_delay                   Displays how often web scraping will occur (seconds).\r\nset_scrape_delay \u003cscrape_rate\u003e      Sets how often the scrapers will run (seconds).\r\nshow_depth                          Displays how many links each bot will follow to scrape.\r\nset_depth \u003cbot index\u003e \u003cdepth\u003e       Changes how many links the scraper will follow.\r\nshow_post_delay                     Displays how often bargains will be posted to the discord channel (seconds).\r\nset_post_delay \u003cpost delay\u003e         Sets how often bargains will be posted to the discord channel (seconds).\r\n\r\n# Filtering commands:\r\nadd_filter \u003ckeyword\u003e                Adds a keyword to filter (this filter is applied to the name of the item as well as any categories it belongs to e.g electronics)\r\nremove_filter \u003ckeyword\u003e             Removes a keyword from the filter.\r\nshow_filters                        Displays all the keywords as well as their prices that are being used as filters.\r\n\r\n# Filtering commands based on price:\r\nadd_filter_price \u003ckeyword\u003e \u003cmin price\u003e \u003cmax price\u003e         Adds a keyword and a price to filter for.\r\nremove_filter_price \u003ckeyword\u003e \u003cmin price\u003e \u003cmax price\u003e      Removes a keyword and its price from filtering.\r\nupdate_filter_price \u003ckeyword\u003e \u003cmin price\u003e \u003cmax price\u003e      Updates an existing filter keyword with a new price.\r\n```\r\n* The filters can be applied while the bot is running and will be saved, so when the bot restarts the previous filters still apply.\r\n* The following commands must be prefixed with the commandPrefix.\r\n```\r\ne.g $help\r\n```\r\n\r\n## Libraries:\r\n#### 1. Sqlite-net:\r\n* https://github.com/praeclarum/sqlite-net\r\n#### 2. HTTP Agility pack:\r\n* https://html-agility-pack.net/\r\n\r\n## Contributing:\r\n* Feel free to fork this repo and create many pull requests for any additional scrapers, bug fixes or new test cases. \r\n\r\n### Coding standards:\r\n* Please read: https://www.dofactory.com/reference/csharp-coding-standards\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthewt53%2Fozbargain-discord-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatthewt53%2Fozbargain-discord-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthewt53%2Fozbargain-discord-bot/lists"}