Skip to main content

A simple database which uses a Discord channel to store data.

Project description

DiscordDBPlus

Documentation Status

A simple database which uses a Discord channel to store data. This is a fork from thec0sm0s's DiscordDB. This version aims to be more flexible.

Features

  • Sending multiple data packs at the same time
  • Edit a data entry from a message id.

Installation

To install current latest release you can use following command:

python3 -m pip install DiscordDBPlus

Basic Example

from discordDBPlus import DiscordDB
from discord.ext import commands


LOGS = []
DATABASE_CHANNEL_ID = The id of a channel (int)


class MyBot(commands.Bot):

    def __init__(self):
        super().__init__(command_prefix="!")
        self.discordDB = DiscordDB(self, DATABASE_CHANNEL_ID)

    @commands.command()
    async def log(self, ctx, *, text):
        data = {
            "name": ctx.author.name,
            "text": text
        }
        _id = await self.discordDB.save(data)
        LOGS.append(_id)

    @commands.command()
    async def show_logs(self, ctx):
        for _id in LOGS:
            data = await self.discordDB.get(_id)
            await ctx.send(f"Name: {data[name]}, Text: {data[text]}")

    @commands.command()
    async def edit_data(self, ctx, id):
        _id = int(id)
        data = await DB.get(_id)
        data["name"] = "example modification"
        data["text3"] = "Edited text"
        await DB.edit(data, _id)

    @commands.command()
    async def get_one_field(self, ctx):
        for _id in LOGS:
          data = await self.discordDB.getf(_id, "A field")
          await ctx.send(f"Text: {data}")


bot = MyBot()
bot.run("TOKEN")

If you wish to save the LOGS to be able to recover them after the bot closed, you can consider put it in a file using json or some file managment system.

Requirements

  • discord.py

Documentation

Head over to documentation for full API reference.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DiscordDBPlus-0.0.7.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

DiscordDBPlus-0.0.7-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page