Code Monkey home page Code Monkey logo

botish-api's Introduction

Botish API

This is an API originaly made for the Heptagram Bot project, now under the botish.xyz domain, maintained by Vyvy-Vi. For contributing to the project, check out the CONTRIBUTING.md file.

Features

Coming soon...

Requirements

  • Python v3.7+
  • fastapi (API framework)
  • poetry (dependency manager)
  • uvicorn (ASGI server)
  • pip (needed to install poetry)

Setting up the dev environment

  1. Install Poetry

    pip install poetry
    
  2. Set up the project dependencies and the pre-commit hooks

    poetry install
    poetry run task precommit
    
  3. Set up the MongoDB instance

  4. Run the project

    poetry run task start
    
  5. Linting your code

    poetry run task lint
    

Usage

botish-api's People

Contributors

dependabot[bot] avatar jaspermayone avatar midouwebdev avatar panquesito7 avatar vyvy-vi avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

botish-api's Issues

FEATURE: Set up Auth

Currently the API doesn't have any Auth process.
Ideally, a JWT auth implementation could be quite secure, but for starters, we can even use bearer HTTP tokens.

DOCS: ISSUE and PR templates

Description-

It would be really useful if we can set up ISSUE templates and PR templates, since that facilitates better communication, and thus helps people that want to contribute to the project.

FEATURE: Modularise this application

Having all the code in one place is messy, we can modularise the code a bit to make everything more readable and maintainable.
FastAPI supports APIRouters, which can help us in implementing a modular structure for the project.

Maybe this folder structure? -

.
└──  src
  ├── __init__.py
  ├── main.py
  ├── dependencies.py
  └── routers
    ├── __init__.py
    ├── coinflip.py
    ├── gifs.py
    ├── encouragements.py
    ├── jokes.py
    └── diceroll.py

[FEAT]:

Feature Request

This API was intended to be an abstraction for new discord bot developers so that they don't have to focus too much on the actual functioning of the feature and can get a discord bot started up pretty quickly to do a variety of tasks:

  1. Simple Chatbot API: Create a straightforward chatbot that can respond to basic queries or engage in casual conversation.
  2. Reminder Bot: Build a bot that allows users to set reminders for specific tasks or events. It could send notifications at the designated times.
  3. Quote Generator: Develop an API that provides random or thematic quotes to users upon request.
  4. Joke Bot: Create a bot that tells jokes or provides humour in response to user prompts.
  5. Language Translation Service: Make a bot that can translate text from one language to another.
  6. Weather Information: Design an API that gives users weather updates for a specified location.
  7. Trivia Quiz Bot: Build a bot that can ask and grade simple trivia questions.
  8. News Headlines: Create a bot that fetches and displays current news headlines from various sources.
  9. Recipe Recommender: Develop a bot that suggests recipes based on specified ingredients.
  10. Daily Affirmations: Create a bot that provides positive affirmations or motivational messages.

Solution:

This API should have endpoints for performing all these tasks.

FEATURE: landing page

The current landing page for the API is broken and incomplete.
It would be great if it could be made responsive, and if we could have more content over there

Screenshot 2021-09-28 at 9 29 49 PM

[FEATURE] Add contributing guidelines

In the README.md file, there's a link that is supposed to send you to the contributing guidelines,
but there are no contributing guidelines in this repository, so that would make it a broken link.

I suggest we should add some basic
contributing guidelines for how to contribute.

Let me know what do you think. 🙂
Thank you.

FEATURE: Encouragement Responses

Currently the bot has a giant encouragement command, cause all the responses are stored locally in the file. It would be nice if we could migrate this to the API.

CHORE(ci): Set up github actions

Description-

GIthub actions would make the dev-workflow smoother.

The following actions might be added here-

  • Linter + Formatter
  • Test runner
  • Automatic Releases + Changelog
  • Docker Image Pusher (to github registry)
  • CodeQL

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.