{"id":18055302,"url":"https://github.com/analogfeelings/sammbot","last_synced_at":"2025-07-04T08:33:01.755Z","repository":{"id":40987657,"uuid":"415727280","full_name":"AnalogFeelings/SammBot","owner":"AnalogFeelings","description":"A simple Discord bot with utilities for moderation, fun, and more.","archived":false,"fork":false,"pushed_at":"2025-04-09T17:58:49.000Z","size":5515,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-04-10T23:13:16.496Z","etag":null,"topics":["bot","bots","cats","csharp","discord","discord-bot","dogs","dotnet","dotnet-core","dotnetcore","ducks","easy-to-use","foxes","gplv3","linux","macos","net80","website","windows"],"latest_commit_sha":null,"homepage":"https://analogfeelings.github.io/SammBot/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnalogFeelings.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2021-10-10T23:55:00.000Z","updated_at":"2025-04-09T17:57:01.000Z","dependencies_parsed_at":"2023-10-11T21:45:18.489Z","dependency_job_id":"fdf187d8-9709-4ed0-8a61-d83d4d90f712","html_url":"https://github.com/AnalogFeelings/SammBot","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/AnalogFeelings%2FSammBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogFeelings%2FSammBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogFeelings%2FSammBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnalogFeelings%2FSammBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnalogFeelings","download_url":"https://codeload.github.com/AnalogFeelings/SammBot/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248312135,"owners_count":21082638,"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":["bot","bots","cats","csharp","discord","discord-bot","dogs","dotnet","dotnet-core","dotnetcore","ducks","easy-to-use","foxes","gplv3","linux","macos","net80","website","windows"],"created_at":"2024-10-31T00:14:32.356Z","updated_at":"2025-04-10T23:13:22.797Z","avatar_url":"https://github.com/AnalogFeelings.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n \u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"/Assets/Branding/Readme/SammBotDark.png\"/\u003e\n  \u003cimg alt=\"SammBot Logo\" src=\"/Assets/Branding/Readme/SammBotLight.png\"/\u003e\n \u003c/picture\u003e\n\n [![GitHub issues](https://img.shields.io/github/issues/analogfeelings/sammbot?style=flat-square\u0026logo=github\u0026label=Issues)](https://github.com/AnalogFeelings/sammbot/issues)\n [![GitHub pull requests](https://img.shields.io/github/issues-pr/analogfeelings/sammbot?label=Pull%20Requests\u0026style=flat-square\u0026logo=github)](https://github.com/AnalogFeelings/sammbot/pulls)\n [![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/analogfeelings/sammbot/unit-tests.yml?branch=dev\u0026label=Unit%20Tests\u0026style=flat-square\u0026logo=githubactions\u0026logoColor=white)](https://github.com/AnalogFeelings/SammBot/actions)\n [![GitHub](https://img.shields.io/github/license/analogfeelings/sammbot?label=License\u0026style=flat-square\u0026logo=opensourceinitiative\u0026logoColor=white)](https://github.com/AnalogFeelings/sammbot/blob/master/LICENSE)\n [![GitHub commit activity](https://img.shields.io/github/commit-activity/m/analogfeelings/sammbot?style=flat-square\u0026logo=github\u0026label=Commit%20Activity)](https://github.com/AnalogFeelings/sammbot/graphs/commit-activity)\n [![GitHub Repo stars](https://img.shields.io/github/stars/analogfeelings/sammbot?label=Stargazers\u0026style=flat-square\u0026logo=github)](https://github.com/AnalogFeelings/sammbot/stargazers)\n [![Mastodon Follow](https://img.shields.io/mastodon/follow/109309123442839534?domain=https%3A%2F%2Ftech.lgbt%2F\u0026style=flat-square\u0026logo=mastodon\u0026logoColor=white\u0026label=Follow%20Me!\u0026color=6364ff)](https://tech.lgbt/@analog_feelings)\n\n #\n \n\u003c/div\u003e\n\nSamm-Bot is a free and open-source Discord bot that I began developing around 2020 for fun.  \nIts source code was private, was written in TypeScript, and was very feature-lacking.\n\nIn 2021, I decided to rewrite it in .NET, make it open-source and much more feature rich. Nowadays, it focuses on being useful, with features such as moderation and fun commands.\n\nMy main motivation is because currently, most large bots are owned by money-hungry people who like to shove Premium ads everywhere they can.  \nI wanted to make a free and open-source bot that people could rely on for simple server-keeping tasks such as warnings, logging and more.\n\n\u003e [!IMPORTANT]  \n\u003e Currently, the bot is in a **beta** state and is very unpolished.\n\n## :trophy: Maintainers\n\nThis is a list of all the people who maintain Samm-Bot's development.\n\n* :floppy_disk: Analog Feelings - Creator and lead developer.\n\n## :books: Features\n\n* :floppy_disk: **Bot Administration Module**: Allows the bot's owner to manage the bot remotely.\n* :gear: **Server Settings Module**: Allows you to set server-specific settings, like logging, welcome messages, etc...\n* :judge: **Moderation Module**: Allows you to kick, ban, mute, or bulk delete messages.\n* :label: **Tags Module**: Allows users to create tags that make Samm-Bot reply with a custom message when used with the \"tags get\" command.\n* :game_die: **Fun Module**: Hugging, patting, asking the magic 8-ball, and more!\n* :information_source: **Information Module**: Shows information about the bot and can also show information about a user or server.\n* :slot_machine: **Random Module**: Retrieve random content from the cat, dog, fox or duck APIs.\n* :wrench: **Utils Module**: Allows you to view RGB or HEX colors or get a user's avatar.\n \n## :package: Building\n\nThe .NET toolset will automatically pull all the required NuGet packages on build.  \nSamm-Bot has currently been tested on **x86-64** and **aarch64**.\n\nFor Linux and macOS users, this [tiny script](./Scripts/BuildSamm.sh) should make it easier for you to pull and build automatically.\n\n\u003e [!NOTE]  \n\u003e The script linked above requires Bash.\n\n## :cd: Database Setup\n\nHere is a small TL;DR on how to update the database in Samm-Bot.  \nKnowing how EntityFramework works is still recommended for this project.\n\n### :eight_spoked_asterisk: Creating Migrations\nGrab the command line, cd to the SammBot.Bot folder, and execute this command:\n\n```\ndotnet ef migrations add \u003cMigrationName\u003e\n```\n\nThis will let you modify the structure of the database's tables.\n\n### :white_check_mark: Applying Migrations\nGrab the command line, cd to the SammBot.Bot folder, and execute this command:\n\n```\ndotnet ef database update\n```\n\nThis will apply the latest migration to the local database, or create a database if one doesn't already exist.\n\n## :judge: Code Style Guidelines\n\nPlease read the [style guidelines](STYLE_GUIDELINES.md) before creating a pull request.  \nYour pull request won't be merged until the code is up to the standards.\n\nAdding an automatic `.editorconfig` file to enforce these is of low priority right now, so please read the file thoroughly.\n\n## :balance_scale: License\n\n© Copyright 2021-2024 Analog Feelings.  \nLicensed under the [GPL v3.0 license](LICENSE).\n\n## :sparkles: Special Thanks\n\nThis is a list of companies or projects who have been very helpful for the development of Samm-Bot.  \nIf your project or company has been very influential in the development of Samm-Bot, it will be listed here.\n\n\u003cdiv align=\"center\"\u003e\n  \n  | Logo | Message |\n  | ---- | ------- |\n  | \u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg\" alt=\"JetBrains\" width=\"128\"/\u003e | Thanks to **JetBrains** for providing an OSS license for their products! |\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanalogfeelings%2Fsammbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanalogfeelings%2Fsammbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanalogfeelings%2Fsammbot/lists"}