A multi-purpose Discord bot with simple moderation commands, reaction roles, reminders, and much more!

Overview

Nokari

This is the rewrite of Nokari. There are still a lot of things to be done. I'm still working on the internal logic, so the bot basically has no functionality yet.

Invite Link

Click this link to invite the stable version of Nokari.

Requirements

  • A Discord application
  • Things listed in requirements.txt
  • Python 3.8+
  • a .env file in the root directory

.env File Example

DISCORD_BOT_TOKEN=TOKEN
SPOTIPY_CLIENT_ID=SPOTIFY_CLIENT_ID
SPOTIPY_CLIENT_SECRET=SPOTIFY_CLIENT_SECRET
POSTGRESQL_DSN=postgresql://user:pass@ip:port/database
LOG_LEVEL=INFO  # Defaults to INFO if not present.
GUILD_LOGS_WEBHOOK_URL=

# This one is optional, use it at your own risk.
DISCORD_BROWSER=

Running

After having all the requirements, run it with:

# Unix
python3 -O nokari

# Windows
py -3 -O nokari

Note: second level optimisation (-OO) will break the help command.

License

This project is licensed under the MPL-2.0 license.

Acknowledgements

Comments
  • Add Spotify Client ID & Client Secret

    Add Spotify Client ID & Client Secret

    Basically, Added Spotify Client ID & Client Secret to Requirements in the README file.

    Wish I was worth the ties of contributing to the code like King nori :(

    opened by vedrecide 1
  • Track Guild

    Track Guild "Join" Events

    Find out the best way to achieve this. I can technically store the unavailable guild IDs in a separate collection and check whether or not the guild which just became available was unavailable. Though, there might be another efficient way.

    N.B. I might be able to tell it's a new guild or not w/ Hikari internals in which case having a separate collection is a bad idea.

    enhancement 
    opened by norinorin 1
  • Implement Select Menus

    Implement Select Menus

    Things to note:

    • character limits;
    • option limits;
    • the content can't be empty—will set the placeholder as the content and set a default option.

    https://github.com/norinorin/nokari/blob/e4260330b840f9635e063b64a2c30fae00cfc751/nokari/utils/spotify/init.py#L863-L912

    enhancement 
    opened by norinorin 0
  • Use own command handler

    Use own command handler

    • [x] Application commands manager (sync on startup)
    • [x] Get the basic example working
    • [x] Dispatch own events (command error, etc)
    • [x] Implement checks
    • [x] Implement cooldowns
    • [ ] Implement help command
    • [x] Implement extensions
    • [x] Finally, start rewriting commands
    • [ ] And perhaps write some unittests
    opened by norinorin 0
  • Re-implement Paginator

    Re-implement Paginator

    Re-implement Paginator so that it supports categories. It'll make use of select menus for switching the category. Each category can have multiple pages in which case the message will have buttons for users to move between pages.

    enhancement 
    opened by norinorin 0
  • Port Commands from d.py Instance

    Port Commands from d.py Instance

    Things to port:

    • [ ] reaction—or rather, button?—role;
    • [ ] image generation such as:
      • [x] spotify cards;
      • [ ] meme generation;
      • [ ] image filters: legofy, invert, etc.
    • [ ] some random text commands;
    • [ ] some random games such as tic-tac-toe x minimax;
    • [ ] some random information commands.

    More to add, soon.

    enhancement 
    opened by norinorin 0
  • Stream STDOUT and STDERR in Real Time

    Stream STDOUT and STDERR in Real Time

    It'd be cool and perhaps useful if the stdout and stderr were streamed in real-time for the eval and the shell commands. Maybe there should be an interval since rate limits exist.

    enhancement 
    opened by norinorin 0
  • Complete Spotify Commands

    Complete Spotify Commands

    Implement:

    • [x] playlist;
    • [x] user
      • [ ] Make a request to https://spclient.wg.spotify.com/user-profile-view/v3/profile/* to get additional information about the user;
    • [ ] Add total length of the tracks (album/playlist);
    • [ ] and possibly other things I couldn't recall.

    https://github.com/norinorin/nokari/blob/8a07525de312f366e12d7dc6d20c4ee9f5f8de85/nokari/plugins/api.py#L388-L398

    enhancement 
    opened by norinorin 0
A simple python discord bot with commands for moderation and utility.

Discord Bot A simple python discord bot with commands for moderation, utility and fun. Moderation $kick <user> <reason> - Kick a user from the server

syn 3 Feb 6, 2022
Auto Moderation is a powerfull moderation bot

Auto Moderation.py Auto Moderation a powerful Moderation Discord Bot ?? Futures Moderation Auto Moderation ?? Installation git clone https://github.co

G∙MAX 2 Apr 2, 2022
Create a roles overview page for all Ansible roles/playbooks in Gitlab

ansible-create-roles-overview Overview The script ./create_roles_overview.py queries a Gitlab API for Ansible roles and playbooks. It will iterate ove

null 2 Oct 11, 2021
A full-fledged discord bot with moderation and a lot more.

HOT-BOT-POL-POT ⭐ Star me on GitHub m'lady.... hot-bot-pol-pot is a moderation discord bot written using enhanced-dpy library with many functionalitie

Pure Cheekbones 4 Oct 8, 2022
A Discord BOT that uses Google Sheets for storing the roles and permissions of a discord server.

Discord Role Manager Bot Role Manager is a discord BOT that utilizes Google Sheets for the organization of a server's hierarchy and permissions. Detai

Dion Rigatos 17 Oct 13, 2022
A discord bot written in discord.py to manage custom roles assigned to boosters of your server.

BBotty A discord bot written in discord.py to manage custom roles assigned to boosters of your server. v0.0.1-alpha released! This version is incomple

Oui002 1 Nov 27, 2021
A simple bot discord in PY with moderation controls

Voila un bot discord en py avec les commandes simples de modération tout simplement faut changer les lignes 70 vous mettez votre token de votre bot 53

Ethan 1 Nov 20, 2021
Acid's Utilities is a bot for my Discord server that alerts when I go live, welcomes new users, has some awesome games and so much more!

Acid's Utilities Acid's Utilities is a bot for my Discord server that alerts when I go live, welcomes new users, has some awesome games and so much mo

AcidFilms (Fin Stuart) 3 Nov 19, 2021
Insane Weather Bot is here! Give suggestions, fork, and do much more to help us enhance the abilities of Insane Weather Bot.

Insane_Weather_Bot Insane Weather Bot is here! Give suggestions, fork, and do much more to help us enhance the abilities of Insane Weather Bot. Weathe

null 1 Jan 2, 2022
Moderation and Utility Discord bot.

Qrista An advanced Moderation and Utility Discord bot. Features Uses Hikari and Lightbulb as a command handler Advance Logging & Whole new enviroment

Blaze Camp 2 Jan 11, 2022
Moderation By Pokemon Bot (Discord)

Moderation Bot By Pokémon Bot (Discord) Official Moderation Bot for Pokemon Bot functional and based in the Discord Server, the bot is written in Pyth

Aakash Manoj Agrawal 6 Jan 4, 2022
New developed moderation discord bot by archisha

Monitor42 New developed moderation discord bot by αrchιshα#5518. Details Prefix: 42! Commands: Moderation Use 42!help to get command list. Invite http

Kamilla Youver 0 Jun 29, 2022
A minimalistic, modern Discord bot for roles and polls using dropdowns

DropBot A minimalistic, modern Discord bot for roles and polls using dropdowns Made by ThatOneCalculator Technologies used Instructions Type /, and na

ModernBots 1 Jun 27, 2022
Pincer-ext-commands - A simple, lightweight package for pincer prefixed commands

pincer.ext.commands A reimagining of pincer's command system and bot system. Ins

Vincent 2 Jan 11, 2022
A discord token nuker With loads of options that will screw an account up real bad, also has inbuilt massreport, GroupChat Spammer and Token/Password/Creditcard grabber and so much more!

Installation | Important | Changelogs | Discord NOTE: Hazard is not finished! You can expect bugs, crashes, and non-working functions. Please make an

Rdimo 470 Aug 9, 2022
Discord ToolBox is a discord bot developed by DJD320 created for the purpose of having some convenient tools in the form of a single bot.

Discord ToolBox Discord ToolBox is a discord bot developed by DJD320 created for the purpose of having some convenient tools in the form of a single b

null 3 Aug 7, 2021
Discord bot that manages expiration of roles with subscriptions!

Discord bot that manages expiration of roles with subscriptions!

Chakeaw__ 3 Apr 28, 2022
🔍 📊 Look up information about anime, manga and much more directly in Discord!

AniSearch The source code of the AniSearch Discord Bot. Contribute You have an idea or found a bug? Open a new issue with detailed explanation. You wa

私はレオンです 19 Dec 7, 2022
Project glow is an open source bot worked on by many people to create a good and safe moderation bot for all

Project Glow Greetings, I see you have stumbled upon project glow. Project glow is an open source bot worked on by many people to create a good and sa

Glowstikk 24 Sep 29, 2022