An open-source, multipurpose, configurable discord bot that does it all

Overview


Spacebot - Discord Bot
Spacebot - Discord Bot

Music, Moderation, Fun, Utilities, Games and Fully Configurable.

Discord Server PyPI - Python Version pycord

Code Style: Black

OverviewContributingSelf hosting • Documentation (not ready- send a PR!) • CommunityLicense

Overview

Spacebot is an open source discord bot that is designed to be fun, easy to use, and replace every other discord bot out there!! Feel free to add a star to the repository to promote the project!

Features

  • ALL IN ONE !
  • ✉️ Support for commands in direct messages
  • ⚙️ Guild configuration (prefix, roles, etc.)
  • 😀 Commands made pleasant thanks to the many emojis
  • 🗳️ Rewards for voting on the bot on top.gg
  • Self hostable - a little programming knowledge required though

Commands

Spacebot has 200+ commands! Slash and non-slash included.

  • 🎵 Music - Play music from youtube, spotify, soundcloud, http links, vimeo, and a lot more! - NOW WITH FILTERS!
  • 😊 Fun - Random, joke, AI, and more to engage communities!
  • 🔧 Utilities - Helpful commands to make your life easier!
  • 🎮 Games - Play games with the bot!
  • ⚒️ Moderation - Moderation commands to help keep the server safe!
  • ⚙️ Configurable - Configure the bot to your liking!
  • 📷 Image manipulation - Make memes, filter images, convert file types and more!

Contributing

Spacebot is open source on github. Feel free to make a PR! Make sure to read the guidelines but dont stress it!

Self hosting

You can self host the bot for your own server, but you will need to have a lavalink server, discord bot account and the API keys for a ton of stuff. its just better to invite spacebot to your own server and use it!

  • Read this guide to make a bot account.
  • Make a Lavalink server you will need this for the music to work.
  • create a dotenv in the main directory file with the following contents:
REDDIT_CLIENT=  
REDDIT_SECRET=
BOT_TOKEN = 
GOOGLE_KEY =
GOOGLE_CX=
WOLFRAM_API_KEY=
IMGUR_API_KEY=
AFP_KEY=
TENOR_API_KEY=
AI_HOST =
AI_KEY = 
SPOTIPY_ID = 
SPOTIPY_SECRET = 
LAVALINK_HOST =
LAVALINK_PASSWORD= 

Note: You can choose not to put in certain API keys if you dont want the corresponding features.

Community

Spacebot has a discord server! Stop by to say hello! Discord Server

Future plans

These are some planned features for Spacebot:

  • 📃 Documentation
  • Modmail
  • Ticket system
  • Automod
  • Moderation logging

If you can contribute and help me do any of these features, feel free to comment on the corresponding issues that you are working on it! After you are done, you can submit a PR and i'll add it to spacebot!

License

Spacebot is licensed under the MIT license

Also check : ABLETON - by INFINIX

Thanks for showing your interest in Spacebot!! While you are here, why not give it a ?

Comments
  • Why define Thank words on every message

    Why define Thank words on every message

    https://github.com/Dhravya/Spacebot/blob/5a3c545fe8faa0fcfa8b301c93feff95494baccf/src/cogs/backgroundtasks.py#L66

    IMO, the overall background tasks are a bit too complex. You might wanna split then up into cogs or smth

    enhancement In progress 
    opened by Om1609 8
  • Anything that has

    Anything that has "ty" in it triggers the +1 reputation

    words like "party", "shitty" are triggering the reputation. this can probably be fixed by adding spaces ty [ ] before and after the thing, not ideal, but i cant think of anything else

    bug In progress 
    opened by Dhravya 5
  • Move the `slash_command`s from main.py to the respective cogs

    Move the `slash_command`s from main.py to the respective cogs

    Currently, there are a lot of commands in main.py file, that need to be converted into slash cogs. like /help to bot commands, /ban to moderation, /thank to fun, etc.

    good first issue 
    opened by Dhravya 4
  • Usage of Discord-Together

    Usage of Discord-Together

    From what I briefly checked, you are using Pycord Alpha. Yet you seem to be using Discord-Together for creating Embedded Activity Invites.

    Pycord provides a channel.create_activity_invite method on Voice Channels Usage can be-

    channel_invite = await channel.create_activity_invite(application_id) #You can find application ids from the source code of Discord Together. Maybe store and find it from somewhere.
    await ctx.send(f"Invite is {channel_invite}")
    

    This way, you can rely less on 3rd party libraries that could lead to bugs/errors which are difficult to trace.

    good first issue In progress 
    opened by Om1609 3
  • Universal Translate utility

    Universal Translate utility

    Is there a way we can make spacebot so that it automatically detects the language and translate to english?

    To take it a step furthur, is there a way to make those "app commands" sort of a thing, but for translate? image

    opened by Dhravya 2
  • Nightcore in lavalink music?

    Nightcore in lavalink music?

    Is there a way to get the "Nightcore" filter in Lavalink music? I'm pretty sure it exists because I saw it in a lavalink music bot but how to do it? Can someone help?

    enhancement help wanted 
    opened by Dhravya 2
  • new feature for Meme cmd

    new feature for Meme cmd

    remove the subreddits you liked from the code in utilities cog and let people add their favourite subreddits so the memes are more appropriate and as they like

    enhancement good first issue In progress 
    opened by Necrozma200 2
  • Fix vote reminder

    Fix vote reminder

    Vote reminder currently is giving this error:

    2|main  |   File "/root/PythonProjects/spacebot/src/cogs/backgroundtasks.py", line 317, in send_vote_reminder
    2|main  |     last_voted_datetime = datetime.strptime(
    2|main  |   File "/usr/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
    2|main  |     tt, fraction, gmtoff_fraction = _strptime(data_string, format)
    2|main  |   File "/usr/lib/python3.8/_strptime.py", line 349, in _strptime
    2|main  |     raise ValueError("time data %r does not match format %r" %
    2|main  | ValueError: time data '2021-12-10 09:07:45.594144' does not match format '%Y-%m-%dT%H:%M:%S.%f'
    

    Now, I don't see any problem with the syntax, is it a version issue? Here is the snippet thats causes the errror: https://github.com/Dhravya/Spacebot/blob/d8632280984ef3ae854653c16a3f0147de1a64cf/src/cogs/backgroundtasks.py#L307-L330

    bug help wanted 
    opened by Dhravya 1
  • Modmail system

    Modmail system

    Add a simple modmail system where if the user uses .modmail in bot's DM, all the messages henceforth are forwarded to the mod channel (and vice-versa) . This will need a new mod_channel column in the database. This feature is very similar to the Discomegle feature in cogs/misc.py. If someone is looking to contribute, Please comment below.

    enhancement good first issue wontfix 
    opened by Dhravya 1
  • Videos don't load in meme command + End interaction button

    Videos don't load in meme command + End interaction button

    I noticed that videos simply don't load in the meme command. The bigger issue is that I don't really know how to work around this. Any suggestions? image

    Also, an end interaction button could be nice that just disables the buttons.

    bug enhancement 
    opened by Dhravya 8
  • Reputation leaderboard not working

    Reputation leaderboard not working

    File : https://github.com/Dhravya/Spacebot/blob/5a3c545fe8faa0fcfa8b301c93feff95494baccf/src/cogs/fun.py#L918

    Expected output:

    Top reputation User1 User2 User3 ..... User10 (if exists)

    Current output :

    Error or not enough users to show top reputation

    bug help wanted good first issue In progress 
    opened by Dhravya 6
  • Ticket system

    Ticket system

    A ticket system where if a user clicks on a button (in the specific channel where the admins have set up), A new channel is created where only the user has the permission to speak with the moderators. When done, moderators can close the tickets and they get an option to get an html log of the conversation.

    I'm looking for a collaborator on this project, since I'm working on Millenia right now.

    If you can help with the issue, kindly comment down below!!

    enhancement good first issue In progress 
    opened by Dhravya 2
Owner
Dhravya Shah
Hi, I'm Dhravya (aka SpaceDoggo) ! 👋 I am a 16 year old interested in software development. I am mainly specialised in Python automation, discord bots, De
Dhravya Shah
The open source version of Tentro - A multipurpose Discord bot.

Welcome to Tentro ?? A multipurpose Discord bot. ?? Homepage Install pip install -r requirements.txt Usage py Tentro.py Contributors ?? Tentro Dev Tea

null 6 Jul 14, 2022
CLI tool that checks who does and who does not follow you back on Instagram

CLI tool that checks who does and who does not follow you back on Instagram. It also checks who you don't follow back on Instagram.

Ayushman Roy 3 Dec 2, 2022
A multipurpose, semi-modular Discord bot written in Python with the new discord.py module.

Discord.py Reaction Bot MIRAI KURIYAMA A multipurpose, semi-modular Discord bot written in Python with the new discord.py module. Installing dependenc

null 1 Dec 2, 2021
Linky bot, A open-source discord bot that allows you to add links to ur website, youtube url, etc for the people all around discord to see!

LinkyBot Linky bot, An open-source discord bot that allows you to add links to ur website, youtube url, etc for the people all around discord to see!

AlexyDaCoder 1 Sep 20, 2022
Bagas Mirror&Leech Bot is a multipurpose Telegram Bot written in Python for mirroring files on the Internet to our beloved Google Drive. Based on python-aria-mirror-bot

- [ MAYBE UPDATE & ADD MORE MODULE ] Bagas Mirror&Leech Bot Bagas Mirror&Leech Bot is a multipurpose Telegram Bot written in Python for mirroring file

null 4 Nov 23, 2021
A multipurpose bot designed to make Discord better for everyone, written in Python.

Hadum A multipurpose bot that makes Discord better for everyone Features A Fully Functional Moderation component: manage your staff, members and permi

null 1 Jan 25, 2022
Multipurpose Discord bot hosted on replit.com

RockyBot Multipurpose Discord bot hosted on https://replit.com/ Installing Dependencies Install poetry through pip: pip install poetry Then simply exe

Rocky 2 May 18, 2022
The Best Multipurpose Discord Bot!

Polsu The Best Multipurpose Discord Bot! • Introduction • Screenshots • Setup • License Introduction Polsu is a Multipurpose Discord Bot. Polsu has a

Polsulpicien 1 Nov 9, 2021
A simple, multipurpose Discord bot.

EpicBot ?? A simple, multipurpose Discord bot. • Info EpicBot is a multipurpose Discord bot that was designed to make your Discord life easier and coo

Nirlep_5252_ 130 Dec 29, 2022
This Mirror Bot is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive.

MIRROR HUNTER This Mirror Bot is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive. Repo la

anime republic 130 May 28, 2022
Slam Mirror Bot is a multipurpose Telegram Bot written in Python for mirroring files on the Internet to our beloved Google Drive.

Slam Mirror Bot is a multipurpose Telegram Bot written in Python for mirroring files on the Internet to our beloved Google Drive.

Abinash939 1 Oct 10, 2021
An Open-Source Discord bot created to provide basic functionality which should be in every discord guild. We use this same bot with additional configurations for our guilds.

A Discord bot completely written to be taken from the source and built according to your own custom needs. This bot supports some core features and is

Tesseract Coding 14 Jan 11, 2022
null 471 Dec 24, 2022
Deepak Clouds Torrent is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive.

Deepak Clouds Torrent is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive.

Deepak Clouds 37 Oct 28, 2022
A multipurpose Telegram Bot writen in Python for mirroring files

Deepak Clouds Mirror Deepak Clouds Torrent is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google D

MR.SHAGGY 0 Dec 19, 2021
A multipurpose Telegram Bot written in Python for mirroring files on the Internet to Google Drive

Mirror Leech Bot Mirror Leech Bot is a multipurpose Telegram Bot written in Python for mirroring files on the Internet to our beloved Google Drive. Ba

null 1 Jan 1, 2022
Ethone-Selfbot - Open Source Discord Self-Bot, written in discord.py

Ethone SB Table of contents Newest open-source Discord SelfBot with useful commands and easy documentation on how to add your own and change the exist

Ethone 3 Jan 8, 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
Satoshi is a discord bot template in python using discord.py that allow you to track some live crypto prices with your own discord bot.

Satoshi ~ DiscordCryptoBot Satoshi is a simple python discord bot using discord.py that allow you to track your favorites cryptos prices with your own

Théo 2 Sep 15, 2022