Coder Social home page Coder Social logo

astro's Introduction

Astro

Astro is an open-sourced, in-house bot designed for the needs of the interactions.py Discord support server. We've built this bot off of our own library.

Features

Some of the features Astro has include:

  • "Tag" commands for storing text prompts, followed by fuzzy matched autocompletion.
  • GitHub embed rendering of Pull Requests, Issues and commit hash logs.
  • Commands to help manage the help channel, including post generation and archiving.

Setup

Setting up this bot is simple.

First, clone this repository. Then, in order to install any dependencies that the bot uses, please run this command in the root namespace of the cloned repository:

pip install -U -r requirements.txt

Astro requires a .env file that contains sensitive information, like your bot token. In particular, it is looking for a file in this format:

TOKEN="Your bot token."
MONGO_DB_URL="A url pointing to a MongoDB database. You can create one for free on the MongoDB website, or run one yourself."

metadata.yml will also likely need to be changed for your needs. The configuration on this repository is for the interactions.py server - you will need to change the IDs of each entry to the appropriate channels, roles, and tags in your server.

Finally, running the bot is as simple as:

python bot.py

astro's People

Contributors

astreatss avatar asyntx avatar b1ue-dev avatar catalyst4222 avatar damego avatar edvraz avatar eunwoo1104 avatar fayedel avatar i0bs avatar itsrqtl avatar jugador123 avatar lordofpolls avatar maxyolo01 avatar nanrech avatar rdni avatar silasary avatar toricane avatar v3ntus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

astro's Issues

Changing /info field

Astro/exts/info.py

Lines 35 to 38 in ef98618

"This project is built with interactions.py, the no. 1 leading Python interactions"
" library that empowers bots with the ability to implement slash commands and"
" components with ease. The codebase of this bot reflects how simple, modular and"
" scalable the library is---staying true to the motto of what it does."

I think this makes us a little too pretentious now, we should probably word it better to say "we're using the go-to interactions based python library" or something along those lines.

Rewrite `/tag list` with `paginator` ext.

The rewrite has been on hold until the paginator extension was made official. As of the time of this writing, the extension has been officially accepted and added to the organisation. Work will be made soon to reflect this by either me or anyone willing to contribute.

`/search` and `/paginator dinteractions-paginator` don't work, here's fix

/search and /paginator dinteractions-paginator don't work.
The only way that I found causing this issue while testing the code myself was with dinteractions-Paginator library version 1.1.12 or lower.
Please use pip install -U dinteractions-Paginator to fix this issue.

TL;DR: you forgot to update dinteractions-Paginator

Display mentionable roles for Get User Information command

Currently, the get_roles endpoint provided by the API only return back the ID and no role object. A stopgap solution would be aggressively producing a temporary cache within the command by cross mapping the user's role IDs to the guild, but this is extremely inefficient and could quickly read to rate limitation. A more viable approach is letting the core library handle this in a sane manner when the cache is refactored.

Consider i.py -> NAFF rewrite

Since we're in the process of migrating the NAFF code base over to interactions.py, I expect us to have nearly, if not exactly the same amount of integral support of NAFF code. With a bot rewrite to the other library, we should be able to mitigate large changes later on in the long run.

Kwargs in slashcommands

Hey, I am a bit new to this and I made slash commands and every of my commands seems to work out perfectly fine except for the one that has no args, When I use my commands, it is like this
image

and when I try to enter:
image
and if I try to put random stuff in the kwargs
image
it says the kwargs thing is required but my command literally has no options in the @slash.slash thing and my actual command has only this:

async def <command name>(ctx: SlashCommand):

I don't know what to do but the issue is probably my fault as I said I am new to this

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.