{"id":13620513,"url":"https://github.com/thieleju/statsbot","last_synced_at":"2026-02-01T15:24:14.252Z","repository":{"id":60602528,"uuid":"544092034","full_name":"thieleju/statsbot","owner":"thieleju","description":"Discord Bot to gather data from public APIs using node.js and discord.js! Hacktoberfest Event Project","archived":false,"fork":false,"pushed_at":"2024-10-21T10:13:14.000Z","size":608,"stargazers_count":21,"open_issues_count":7,"forks_count":42,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-31T05:45:34.257Z","etag":null,"topics":["api","bot","discord","discordjs","hacktoberfest","javascript","nodejs","npm"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thieleju.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-10-01T16:16:15.000Z","updated_at":"2025-07-16T22:06:23.000Z","dependencies_parsed_at":"2024-04-22T11:45:23.985Z","dependency_job_id":null,"html_url":"https://github.com/thieleju/statsbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thieleju/statsbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieleju%2Fstatsbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieleju%2Fstatsbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieleju%2Fstatsbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieleju%2Fstatsbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thieleju","download_url":"https://codeload.github.com/thieleju/statsbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thieleju%2Fstatsbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28980937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T13:38:33.235Z","status":"ssl_error","status_checked_at":"2026-02-01T13:38:32.912Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["api","bot","discord","discordjs","hacktoberfest","javascript","nodejs","npm"],"created_at":"2024-08-01T21:00:56.667Z","updated_at":"2026-02-01T15:24:14.237Z","avatar_url":"https://github.com/thieleju.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# StatsBot - A Discord Bot to gather data from public APIs\n\n[![CodeQL](https://github.com/thieleju/statsbot/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/thieleju/statsbot/actions/workflows/codeql-analysis.yml)\n\n\u003e [!NOTE] \n\u003e This project does participate in the **Hacktoberfest** event!\n\nA Discord bot which provides various commands to get data from public APIs. This project is using the [discord.js](https://discord.js.org/) library and public APIs from [this list](https://github.com/public-apis/public-apis) or other ressources.\n\n## :sparkles: How to contribute\n\n\u003e [!WARNING]\n\u003e For the duration of **Hacktoberfest**, only **one** issue/pull request per person will be accepted. If you want to contribute more, please look for other repositories [here](https://github.com/topics/hacktoberfest?o=desc\u0026s=updated) and keep contributing ❤️\n\n- Navigate to an open issue and ask to be assigned to it (or create one yourself)\n- After you are assigned, [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the repository and create a new branch\n- Make your changes on the new branch and commit them\n- Create a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) and wait for it to be reviewed\n- Thats it!\n\nFor more information check out the [Contribution Guidelines](CONTRIBUTING.md)\n\n## :white_check_mark: Available commands\n\n\u003c!-- markdown table --\u003e\n\n| Command                   | Description                                               | API                                                                                         |\n| ------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| `/invitelink`             | Shows the invite link for the bot                         |                                                                                             |\n| `/ping`                   | Pong!                                                     |                                                                                             |\n| `/serverinfo`             | Shows information about the server                        |                                                                                             |\n| `/userinfo`               | Shows information about the user                          |                                                                                             |\n| `/excuse`                 | Sends a random excuse                                     | [Excuser](https://excuser.herokuapp.com/)                                                   |\n| `/show-chess-leaderboard` | Shows information about the current chess.com leaderboard | [chess.com](https://www.chess.com/news/view/published-data-api)                             |\n| `/trivia`                 | Shows a random question, react with ✅ or ❌.               | [opentdb.com](https://opentdb.com/api.php?amount=1\u0026type=boolean)                            |\n| `/numberfact`             | Shows a random number fact                                | [numbersapi.com](http://numbersapi.com/)                                                    |\n| `/catfact`                | Shows a random fact about cats.                           | [meowfacts](https://github.com/wh-iterabb-it/meowfacts)                                     |\n| `/dogfact`                | Shows a random fact about dogs.                           | [Dog API](http://dog-api.kinduff.com/api/facts)                                             |\n| `/dictionary`             | Get definitions and synonyms of words.                    | [dictionaryapi](https://dictionaryapi.dev/)                                                 |\n| `/foxpic`                 | Shows a random picture of a fox.                          | [RandomFox](https://randomfox.ca/floof/)                                                    |\n| `/mathquestion`           | Sends a random math question.                             | [xMath API](https://x-math.herokuapp.com/)                                                  |\n| `/uptime`                 | Shows how long Stats-Bot has been up.                     | [Countdown NPM Package](https://www.npmjs.com/package/countdown)                            |\n| `/crypto`                 | Provide detail about given crypto currency.               | [coinstat](https://documenter.getpostman.com/view/5734027/RzZ6Hzr3)                         |\n| `/motivation`             | Shows a random motivation quote.                          | [motivation](https://nodejs-quoteapp.herokuapp.com/)                                        |\n| `/breakingbad`            | Shows a random Breaking Bad quote.                        | [Breaking Bad Quotes Api](https://breakingbadquotes.xyz/)                                   |\n| `/dogpic`                 | Shows a random dog picture.                               | [Dog Pic API](https://random.dog/woof.json/)                                                |\n| `/catpic`                 | Shows a random cat picture.                               | [Cat Pic API](https://aws.random.cat/meow/)                                                 |\n| `/duckpic`                | Shows a random duck picture.                              | [Duck Pic API](https://random-d.uk/api/quack/)                                              |\n| `/joke`                   | Give you a random joke.                                   | [Joke API](https://sv443.net/jokeapi/v2/)                                                   |\n| `/chuck`                  | Shows a random joke about Chuck Norris                    | [Chuck Norris API](https://api.chucknorris.io/jokes/random)                                 |\n| `/animequote`             | Shows a random anime quote.                               | [anime-chan](https://animechan.vercel.app/)                                                 |\n| `/bored`                  | Get something to do if you are bored.                     | [Bored API](http://www.boredapi.com/api/activity/)                                          |\n| `/kanye`                  | Shows a random quote by Kanye West.                       | [Kanye Rest API](https://api.kanye.rest/)                                                   |\n| `/websiteicon`            | Shows the favicon of the requested sit.                   | [Icon Horse API](https://icon.horse/)                                                       |\n| `/guessage`               | Guess the age of a specific or random name.               | [Agify API](https://agify.io/), [Random Data API](https://random-data-api.com/)             |\n| `/npm`                    | Query the NPM registry for npm package details.           | [NPM Registry](https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md)            |\n| `/stockimage`             | Get a random 1920x1080p stock image.                      | [Lorem Picsum](https://picsum.photos/)                                                      |\n| `/tecchy`                 | Shows a random tech-savvy phrase.                         | [TechyAPI](https://techy-api.vercel.app/api/json)                                           |\n| `/affirmation`            | Shows a random affirmation quote.                         | [Affirmation Dev API](https://www.affirmations.dev/)                                        |\n| `/series`                 | Get any tv/web series information                         | [CatchTheShow](https://catchtheshow.herokuapp.com/api/documentation)                        |\n| `/meme`                   | Send Random Memes.                                        | [Reddit Random Memes Api](https://reddit-meme-api.herokuapp.com)                            |\n| `/list-data-breaches`     | Lists data breaches using the haveibeenpwned.com API      | [haveibeenpwned.com](https://haveibeenpwned.com/api)                                        |\n| `/onthisday`              | Shows a random history event happended on this date.      | [ZenQuotes](https://today.zenquotes.io/api/)                                                |\n| `/fruit`                  | Get interesting information about fruit                   | [Fruityvice](https://www.fruityvice.com/)                                                   |\n| `/serverip`               | Display server IP and location                            | [MyIP API](https://www.myip.com/api-docs/)                                                  |\n| `/guessnationality`       | Guess the country of a specific or random name.           | [Nationalize API](https://nationalize.io/), [Random Data API](https://random-data-api.com/) |\n| `/countryinfo`            | Display information about a specific country.             | [REST Countries](https://restcountries.com/)                                                |\n| `/university`             | Get the domain of a university.                           | [Hipo](https://github.com/Hipo/university-domains-list)                                     |\n| `/countryinfo`            | Display information about a specific country.             | [REST Countries](https://restcountries.com/)                                                |\n| `/breakingbaddeath`       | Shows a random death reason of a Breaking Bad character   | [Breaking Bad Death Api](https://breakingbadapi.com/api/random-death)                       |\n| `/advice`                 | Shows a random advice.                                    | [Advice Slip API](https://api.adviceslip.com/)                                              |\n| `/shiba`                  | Show shiba inu picture.                                   | [shibe.online](https://shibe.online/)                                                       |\n| `/yesno`                  | Get an answer to any question.                            | [yesno.wtf](https://yesno.wtf/api)                                                          |\n| `/xkcd`                   | Shows a random xkcd comic.                                | [xkcd Swagger REST API](https://www.programmableweb.com/api/xkcd-swagger-rest-api-v2)       |\n| `/roboavatar`             | Create a Robotor Avatar by entering a string.             | [Robo Avatar API](https://robohash.org/)                                                    |\n| `/inspiration`            | Get Inspiration.                                          | [goprogram API](https://api.goprogram.ai/inspiration/)                                      |\n| `/horoscope`              | Get Horscope.                                             | [Aztro Api](https://aztro.readthedocs.io/en/latest/)                                        |\n| `/whatshouldieat`         | Get a random recipe from themealdb.                       | [themealdb API](https://www.themealdb.com/api.php)                                          |\n| `/ayah`                   | Get a verse of Quran.                                     | [AlQuran Cloud](https://alquran.cloud/api)                                                  |\n| `/encryption`             | Encrypt/decrypt a message using a key.                    | [Classify API](https://classify-web.herokuapp.com/#/api)                                    |\n| `/earthevent`             | Return a natural event that occurred in the last 30 days. | [EONET API](https://eonet.gsfc.nasa.gov)                                                    |\n| `/apod`                   | Return an astronomy picture of the day.                   | [NASA APOD API](https://apod.nasa.gov/apod/astropix.html)                                   |\n| `/truefact`               | Get a true fact.                                          | [Random Useless Facts API](https://uselessfacts.jsph.pl/)                                   |\n| `/createloripsum`         | Shows random lorem ipsum text.                            | [Loripsum](https://loripsum.net/)                                                           |\n| `/urban`                  | Shows the definition of a term from Urban Dictionary.     | [Urban Dictionary API](https://urbandictionary.com)                                         |\n| `/guessgender`            | Get the gender of a name.                                 | [Genderize](https://genderize.io/)                                                          |\n| `/shortenlink`            | Shorten the URL.                                          | [GoTiny](https://gotiny.cc/)                                                                |\n| `/locateiss`              | locate the International Space Station.                   | [open-notify](http://open-notify.org/Open-Notify-API/)                                      |\n| `/password-gen`           | Generate a random password.                               | [Random Password Generator](https://www.random.org/passwords/)                              |\n\n## :wrench: Installation\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/en/download/) (v16.14.0 or higher)\n- Discord Account\n\n### Project Setup\n\n1. Fork or Clone the repository to your local machine\n2. Navigate to the project root directory (location of package.json)\n3. Run the command `npm install` to install all dependencies\n4. Setting up a discord bot application\n   - Follow [this guide](https://discordjs.guide/preparations/setting-up-a-bot-application.html) on how to set up a new discord application and add a bot\n   - Save the `Bot Token`, `Client ID` and `Client Secret` to a new file named `.env` in the project root directory\n\nExample `.env` file content:\n\n```env\nDC_BOT_TOKEN=\u003cyour bot token\u003e\nDC_BOT_CLIENT_ID=\u003cyour application client id\u003e\nDC_BOT_CLIENT_SECRET=\u003cyour application client secret\u003e\nDC_BOT_PERMISSIONS=274878131264\n```\n\n## :rocket: How to run the bot\n\n```sh\nnpm run dev\n```\n\nThis runs the application with [nodemon](https://www.npmjs.com/package/nodemon) which automatically restarts the application when changes are made.\n\n## :link: How to invite the bot\n\n- Option 1: Follow this guide on [discordjs.guide](https://discordjs.guide/preparations/adding-your-bot-to-servers.html)\n- Option 2: Use the base Url `https://discord.com/api/oauth2/authorize` and add following url parameters:\n  - **client_id**: Your application client id (`DC_BOT_CLIENT_ID`)\n  - **permissions**: All permissions the bot should have when invited as a string (`274878131264`)\n  - **scope**: `bot%20applications.commands`\n\n# :question: What is Hacktoberfest?\n\nA month-long celebration from October 1st - 31st sponsored by [Digital Ocean](https://hacktoberfest.com/) and GitHub to get people involved in [Open Source](https://github.com/open-source).\n\nCreate your very first pull request to any public repository on GitHub and contribute to the open source developer community.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthieleju%2Fstatsbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthieleju%2Fstatsbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthieleju%2Fstatsbot/lists"}