All Projects → zekroTJA → shinpuru

zekroTJA / shinpuru

Licence: MIT license
シンプル - Discord Bot with backups, moderation, karma ranking, a starboard, code execution, raid alerting, a web interface, twitch notifications and more!

Programming Languages

go
31211 projects - #10 most used programming language
typescript
32286 projects
HTML
75241 projects
SCSS
7915 projects
python
139335 projects - #7 most used programming language
HCL
1544 projects

Projects that are alternatives of or similar to shinpuru

Dredd
A multipurpose Discord bot written in python language and enhanced discord.py library.
Stars: ✭ 105 (-25.53%)
Mutual labels:  discordbot
discord-key-bot
A bot for discord that accepts, announces, and gives out keys
Stars: ✭ 14 (-90.07%)
Mutual labels:  discordgo
Discord.JS-Coding-Tutorials
🙂 A full Discord.JS v12 Guide for making Discord Bots by DashCruft on YouTube
Stars: ✭ 58 (-58.87%)
Mutual labels:  discordbot
multiple-purpose-discord-bot-like-carlbot
A MultiPurpose Discord bot Named Dumb Bot which does Almost Everything You will need in one bot and with 230+ Commands and does almost everything which is in carl-bot or dyno
Stars: ✭ 70 (-50.35%)
Mutual labels:  discordbot
interface
AngularJS based Web Interface for Statusengine
Stars: ✭ 15 (-89.36%)
Mutual labels:  webinterface
MusicStream
A NodeJS server and web client for streaming music (and videos) to your network
Stars: ✭ 22 (-84.4%)
Mutual labels:  webinterface
shards
Configurable, scalable and automatic sharding library for `discordgo`, done right ✔️
Stars: ✭ 18 (-87.23%)
Mutual labels:  discordgo
nextcord
A Python wrapper for the Discord API forked from discord.py
Stars: ✭ 956 (+578.01%)
Mutual labels:  discordbot
tatsumaki.js
A api wrapper for the Tatsumaki Discord Bot API
Stars: ✭ 9 (-93.62%)
Mutual labels:  discordbot
KannaKamuiBot
A multipurpose bot for fun, emotes, anime, utility, music, nsfw, valorant, moderation, and welcome/leave messages.
Stars: ✭ 64 (-54.61%)
Mutual labels:  discordbot
Discord-Channel-Moderator
❤️ Discord Moderation Bot that helps you filter commands, (allow) links or filter words in channels where they were not allowed. Script is Node.js based using discord.js built by @Refloow
Stars: ✭ 76 (-46.1%)
Mutual labels:  discordbot
Karuma
Karuma is a Discord Bot including Nukes, Raids, Mass DM and other features. Only for educational purposes 🥱🚀
Stars: ✭ 132 (-6.38%)
Mutual labels:  discordbot
BetterDiscordPanel
💬 Discord Messaging Panel that allows you to message inside of a bot!
Stars: ✭ 512 (+263.12%)
Mutual labels:  discordbot
Friend-Time
Discord bot - Friend Time helps your server coordinate times and events by converting times mentioned in chat between time zones!
Stars: ✭ 62 (-56.03%)
Mutual labels:  discordbot
DiscordBot
DiscordBot, A brand new plugin for pocketmine-mp.
Stars: ✭ 41 (-70.92%)
Mutual labels:  discordbot
gitbot
The most popular Discord dev toolkit with 400k+ users 🚀✨
Stars: ✭ 59 (-58.16%)
Mutual labels:  discordbot
SeoaBot
The Discord bot was name Seoa
Stars: ✭ 28 (-80.14%)
Mutual labels:  discordbot
speedcord
Lightweight discord library
Stars: ✭ 22 (-84.4%)
Mutual labels:  discordbot
docker-pyload
Docker with pyload
Stars: ✭ 27 (-80.85%)
Mutual labels:  webinterface
wg-portal
WireGuard Configuration Portal with LDAP connection
Stars: ✭ 476 (+237.59%)
Mutual labels:  webinterface

~ シンプル ~

A simple multi purpose discord bot written in Go (discord.go)
with focus on stability and reliability


    Docker Cloud Automated build 

Branch Main CI Docker CD Releases CD
stable
canary

Invite

Here you can choose between the stable or canary version of shinpuru:

Intro

シンプル (shinpuru), a simple (as the name says), multi-purpose Discord Bot written in Go, using bwmarrin's package discord.go as API and gateway wrapper and ken as slash command framework. The focus on this bot is to provide general purpose, administration and security tools while keeping stability, reliability and maintainability.

This bot is mainly used as administration and security tool on my development discord. Drop by to see shinpuru in action! 😉


Features

Slash Commands

shinpuru mainly uses slash commands to interact with the bot. In the wiki, you can find an automatically generated list of commands, their descriptions and how to use them.

You can also find a searchable list in the web interface of shinpuru.

poek6z96T9.mp4

Web Interface

If you are sick of using chat commands, you can also use the web interface of shinpuru. Simply log in with your Discord Account (alternatively, you can also use the /login command).

Most features of shinpuru available via slash commands are also accessible in the web interface with additional visualization and information provided.

nM8OgtfJx3.mp4

REST API

The web interface simply connects to the REST API exposed by the web server of shinpuru. You can also acquire an API token linked to your account to access the REST API directly, if you want.

Here you can read more about how to connect to shinpuru's REST API and which endpoints are available.

Chat Features

Code Execution

When someone posts code inside a code block, shinpuru can extract the code and language and execute it outputting the result into chat.

The code is picked up and sent to a code execution engine, which safely executes the code and sends back the result via a REST API. Therefore, you can chose between ranna or JDoodle in the config.

Karma

shinpuru features a Karma system which is inspired by Reddit. You can define specific emotes which, when attached to a message, increase or reduce the karma points of a member. You can also specify the amount of "tokens" which can be spent each hour as well as a penalty for giving negative karma, which also takes karma from the executor to prevent downvote spam.

It is also possible to execute actions when passing specific amounts of karma. For example, you can add or remove roles, send messages or even kick/ban members depending on their karma points.

Color Reactions

Another unique feature of shinpuru are color reactions. When enabled (see /colorreaction), shinpuru can fetch colors from chat messages and display them into a reaction. When clicked on the reaction, more information about the color is then posted into chat.

Votes

You can simply create votes using the /vote slash command where users can pseudo anonymously vote using reactions.

Twitch Notifications

You can add names of twitch streamers to a watchlist (see /twitchnotify) and when they go live, a notification message in sent into the specified channel.

Quote Messages

You can use the /quote command to quote messages by ID or link (even cross-channel).

image

Starboard

As literally any other bot, shinpuru also features a starboard! You can even specify an amount of karma members get when their message get into the starboard.

Channel Statistics

You can use the /channelstats command to analyze contribution statistics for specific text channels.

Guild Security & Moderation

Report System

shinpuru features a deeply integrated reporting and moderation system. You can create reports for members who violate guild rules which then are posted into a modlog channel (if specified). Also, all reports of a member can be viewed on their user profiles as well as in the web interface.

Of course, you can also kick and ban members with shinpuru, which also creates a report record in the modlog. It is even possible to create so called "ghost reports". It allows to report or ban members by ID which are no more part of the server.

When a member wants to request an unban, this can be done via the web interface when navigating to <webAddress>/unbanme.

vRPSl97B9Z.mp4

Guild Backups

When enabled, shinpuru will create a backup of your guild's infrastructure every 12 hours. This includes guild settings, channels (names, positions and groups), roles (names, positions and permissions) and members (nicknames and applied roles).

When your guild gets raided or an admin goes rouge, you can simply choose one of the created backups and reset the guilds state.

The last 10 backups are stored and can be reviewed in the web interface.

Raid Alerting

This system allows you to set a threshold of new user ingress rate. When this rate exceeds, for example when a lot of (bot) accounts flush in to your guild (aka raiding), all admins of the guild will be alerted via DM. Also, the guilds moderation setting will be raised to Highest so that only users with roles or a valid phone number can chat.

image

Additionally, all joined users after the event triggered are logged in a list which can be viewed in the web interface. You can also use this list to bulk kick or ban users captured in the antiraid join list.


Docker

Read about how to host shinpuru using the provided Docker image in the wiki article.


Compiling

Read about self-compiling in the wiki article.


Public Packages


Third party dependencies

Back End

Web Front End

Assets


Copyright © 2018-2022 zekro Development (Ringo Hoffmann).
Covered by MIT License.

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].