All Projects → Erisa → Cliptok

Erisa / Cliptok

Licence: MIT license
Moderation Discord bot for Microsoft Community.

Programming Languages

C#
18002 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Cliptok

Discord-multipurpose-bot
A repository with JavaScript and Python versions of the same type of discord commands.
Stars: ✭ 27 (-48.08%)
Mutual labels:  moderation-bot, moderation-discord-bot
BlazorQuiz
Simple quiz using Blazor.NET and Webassembly
Stars: ✭ 42 (-19.23%)
Mutual labels:  microsoft
powerapps-packagedeployer-template
Enhanced deployment capabilities when deploying with the Power Apps Package Deployer.
Stars: ✭ 18 (-65.38%)
Mutual labels:  microsoft
interview-prep
🤼 An aggregate of technical interview questions and testimonies.
Stars: ✭ 17 (-67.31%)
Mutual labels:  microsoft
libemf2svg
Microsoft (MS) EMF to SVG conversion library
Stars: ✭ 75 (+44.23%)
Mutual labels:  microsoft
all-seeing-bot
Repl.it discord moderation bot
Stars: ✭ 73 (+40.38%)
Mutual labels:  moderation-bot
NanoSoft
A forum system built using plain php dedicated for C#.NET Developers
Stars: ✭ 20 (-61.54%)
Mutual labels:  microsoft
Socks5
A full-fledged high-performance socks5 proxy server written in C#. Plugin support included.
Stars: ✭ 331 (+536.54%)
Mutual labels:  microsoft
Learn-LTI
Access the Microsoft Learn http://docs.microsoft.com/learn Catalog of Learning Paths and Modules directly from your Learning Management Systems using the Microsoft Learn LTI application
Stars: ✭ 97 (+86.54%)
Mutual labels:  microsoft
extensions-dependency-injection
Microsoft Extensions DependencyInjection for WCF, and asp.net classic projects
Stars: ✭ 18 (-65.38%)
Mutual labels:  microsoft
react-native-msal
MSAL for React Native
Stars: ✭ 62 (+19.23%)
Mutual labels:  microsoft
BingMapsSDSToolkit
This toolkit makes it easy to use the Bing Maps Spatial Data Services (SDS) in .NET
Stars: ✭ 39 (-25%)
Mutual labels:  microsoft
Windows-911
Curated list of FREE emergency resources when you find yourself in the inevitable pickle with Windows. PRs welcome!
Stars: ✭ 24 (-53.85%)
Mutual labels:  microsoft
ferrisetw
Basically a KrabsETW rip-off written in Rust
Stars: ✭ 22 (-57.69%)
Mutual labels:  microsoft
Unity-Text-to-Speech
Sample app used to demonstrate the use of Microsoft Cognitive Services Text-to-Speech APIs (aka Speech Synthesis) from within Unity.
Stars: ✭ 67 (+28.85%)
Mutual labels:  microsoft
Microsoft365
Manage Microsoft 365 with PowerShell
Stars: ✭ 30 (-42.31%)
Mutual labels:  microsoft
xp
💻 Windows XP All Editions Universal Product Keys Collection
Stars: ✭ 247 (+375%)
Mutual labels:  microsoft
react-microsoft-login
Microsoft services authorization with React.
Stars: ✭ 65 (+25%)
Mutual labels:  microsoft
Cloud-PAW-Management
Simplify PAW and SPA for the masses, unify the MS Internal, and public PAW specs, and expedite deployment to ~5min or less.
Stars: ✭ 45 (-13.46%)
Mutual labels:  microsoft
techno-boto-discord
A Moderator bot for Discord that you can add to your server today.
Stars: ✭ 53 (+1.92%)
Mutual labels:  moderation-bot

Cliptok - A Discord bot for Microsoft Community

About

This bot is a Discord moderation bot specifically designed for the Microsoft Community.

The bot has not been designed for use outside of that server. A lot is assumed about the environment and you will encounter problems along the way. Modularity is not the goal of this project. You are on your own if you attempt to host this bot outside of the intended environment. (Good luck though, I hope it works out!)

If you want my help setting up an instance of this bot and don't know me personally, you are welcome to Sponsor me for at least $5 and then you are welcome to reach out and I will try my best.
Still though, I recommend you find a better bot.

GitHub Issues will only be accepted if they are reproducible on the production bot (Cliptok in Microsoft Community).

Note about scam domains

Cliptok no longer includes scam domains in its public source code. If you are using Cliptok or its lists to assist with your moderation, don't.
There are many projects better suited to this, and Cliptok now uses new methods of detecting phishing links that we do not wish to make public.

Scam message parts continue to be available at Lists/scams.txt and you are free to contribute to those. Do not contribute scam domains, we don't need them.

If you have questions about this, reach out to Moderators' mail on https://discord.gg/microsoft and ask for Erisa, citing this README as a source. Do not Direct Message me unless we are friends or you are sponsoring me on GitHub.

Configuration

If you're using the bot on the Microsoft Community Discord server, the configuration should be fairly simple since the default configuration values are filled in for you.

Simply copy .env-example to .env and edit in the token for your Discord bot. If you require a different prefix, that can be done in the same file.

If you're using the bot elsewhere, you will need to edit the configuration file more thoroughly, including all of the role IDs and the server ID. It is vital that every config value is present and valid.

Limitations

Currently the bot will only work with one server. This choice was made because the bot was specifically created for a single server and will never be made publicly available. If you are looking to host a bot for multiple servers, this bot is not for you.

A lot of the configuration (Role IDs, emoji IDs, etc.) are in the config.json file and cannot be edited at runtime. This means the bot will have to be relaunched for changes to those settings to take effect. This may be improved in the future, however it is not a high priority.

Usage

There are three methods of launching this bot:

  • (Recommended) Through Docker.
  • As a standalone application.
  • From Visual Studio, aka development/debug mode.

If you are not familiar with deploying .NET (Core) and Redis applications, it is recommended to use the Docker method as dependencies are automatically handled for you without polluting your main system, and the setup can be handled with a few simple commands.

Setup - Docker

First you'll want to install Docker. On a Debian or Ubuntu-based Linux distribution this should be as simple as sudo apt-get install docker.io docker-compose.

Then:

  1. Clone this repository and cd into the directory.
  2. Copy .env to .env-example and add the bot token.
  3. If you're not deploying for Microsoft Community, uncomment lines 21-23 in docker-compose.yml and edit the config.json to fit your needs.
  4. Run the bot in the background: docker-compose up -d

That's it! If you ever need to see the logs, cd back into the directory and run docker-compose logs.

If you want to make a backup of the bot's data, that will be inside the data folder, though may be owned by root due to Docker limitations. It's up to the user hosting the bot to maintain their own backups (Or lack thereof).
The author(s) of the bot accept(s) no responsibility for lost data due to negligence.

To update the bot in the future, git pull the repository and then pull and restart the containers:

  • git pull && docker-compose pull && docker-compose up -d

Setup - Standalone

If you want to run the bot as a standalone application rather than a Docker container, you'll need to install the dependencies manually:

  • If running on Windows, Windows 10 or higher is required.
  • .NET SDK 6.0, instructions can be found on the Microsoft website.
  • Redis server, on Debian or Ubuntu-based Linux distributions this should be sudo apt-get install redis-server
    • It may be in your best interests to configure Redis to use AOF persistence. This will dramatically decrease the risk of losing data due to power failure or similar issues. You can find more information about that on the Redis website.
    • If running on Windows, tporadowski/redis is preferred over WSL or other methods of running Redis.
      • Do not use microsoftarchive/redis.
      • If using WSL, you may need to run sudo service redis-server start or redis-server manually.

Once you have everything installed:

  1. Clone this repository and cd into the directory.
  2. Set the CLIPTOK_TOKEN environment variable to your bots token.
  3. If you're not deploying for Microsoft Community, edit the config.json to fit your needs.
  4. Compile the bot for production: dotnet build -c Release.
  5. Run the bot: dotnet run -c Release

If you go with this method you will have to fork the bot to the background yourself, through the use of a process manager like pm2 or a systemd service.

Setup - Development

If you want to develop and make changes to the bot, you need the following:

  • First read our contribution guidelines if you intend to submit changes back to the repository.
  • You need Windows 10 or higher. Windows 8.1 or lower will not work anymore.
  • You will need .NET SDK 6.0, instructions can be found on the Microsoft website.
  • Visual Studio 2022, with .NET desktop development selected on the installer.
    • Visual Studio 2019 is untested and no longer preferred.
  • Redis. It is recommended to install tporadowski/redis.
    • Simply download the latest .msi and run it. Adding the Windows Firewall exception is not required.
  • Git for Windows
  • A Discord server for testing, with all the roles and channels required for bot functionality.

Once you have everything installed:

  1. Create a new Discord application and bot with all intents enabled, set CLIPTOK_TOKEN Windows environment variable to the bots token.
  2. Clone the repository (or your fork of it) to a folder.
  3. Open the Cliptok.sln within, making sure to use Visual Studio 2022.
  4. Copy config.json to config.dev.json and make changes for your testing sever.
    • This is the most difficult part by far. Please try to replicate the required roles/channels/etc as closely as possible.
  5. Edit, run, debug, etc.

If you have a change to make that follows the contribution guidelines, send a Pull Request.

Credits

🖥️ Developer

⚙️ Code contributors

💗 Significant sponsors

🙏Special thanks

  • TorchGM for initial testing and providing core design feedback. Seriously, thank you Torch.
  • PrincessRavy for providing an API used by Cliptok.
  • All of my GitHub Sponsors 💝
  • The developers of DSharpPlus, without their library none of this would be possible.
  • The excellent moderation team over at Microsoft Community, and all of its wonderful members.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].