Git Product home page Git Product logo

np-client's Introduction

kdancybot 🤖

osu! chatbot for Twitch written in Python

Supported commands 🤯

  • !request (requests a map to a streamer)
  • !recent (shows recent play of any player (defaults to streamer))
  • !recentbest (shows most recent play in player's top 100)
  • !todaybest (shows player's best score of the day)
  • !ppdiff (shows difference in pp values of two players)
  • !whatif (shows how many pp would streamer get for a certain pp score)
  • !top (shows top play of any player (defaults to streamer))
  • !profile (shows profile (defaults to streamer))

Install 🛠️

Application installation ⚙️

IMPORTANT: If you want to use it, you can register on kdancy.ru (soon™) to use all of it's features

git clone https://github.com/AndrefHub/kdancybot.git
cd kdancybot
python3 -m venv .
source bin/activate
pip install -r requirements.txt
./run # <- this command should be ran as **root** or through **sudo**

TODO 💡

  • Dockerize bot
  • Work with twitch API directly
  • Add !np command (idk if it's possible)
  • Indicate different roles on channel in request message (VIP, MOD, SUB etc.)
  • Indicate map status (ranked, loved, graveyard etc.)
  • Add database support
  • Add !register command which will store users osu! account ids
  • Add me alias for commands which require osu usernames
  • Cache downloaded osu beatmaps
  • Support multiple twitch channels running in one instance

np-client's People

Contributors

andrefhub avatar

np-client's Issues

Update received command's parsing

As mentioned in kdancybot/np-server#1, in near future commands' format will change from string to json. We need to change command's parsing code accordingly.
It is also important to not break compatibility with the old format.

Good solution would be try parsing both formats and use whichever format works.
Release of the updated version of np-client should be earlier than release of np-server's kdancybot/np-server#1 version so everyone will have time to update their clients.

Change current osu! state provider's connection to websockets

Currently we use HTTP GET request. For gosumemory it works fine as response's delay is usually less than 200ms.
On other hand, StreamCompanion often takes a lot of time to respond and sometimes even takes exceeds 2s timeout (which should be more than enough!).

Only fix I can think of right now is changing connection to websockets, so we can be certain we'll get some data (although it may be outdated).

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.