Giter Club home page Giter Club logo

rratbot's People

Contributors

traverseda avatar xavion3 avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

Forkers

xavion3

rratbot's Issues

[Feature request] List comprehensions

@Xavion3 , figured I'd ping you on this. It might be a better place to discuss it than the chat.

I figure the first step to getting list comprehensions working is making the existing dice function return a list of numbers, and have everything else work relatively gracefully with that.

It might be time to start thinking about numpy. Having arrays as a native datatype enables stuff like matrix multiplication, which numpy would benifit.

Voting

Implement a voting system that uses anon votes.

I would like it to auto-emote so that people can click emote options, along with voting via PM/channel msg.

Support back-ticked rolls

It has come to our attention that 5*5*5 renders as 555 in discord.
Supporting expressions wrapped in

```Code blocks```
`code block`

would make it a lot easier to have pretty input.

Timeouts for very long running tasks

Some work has been done on the multiprocessing branch. Should do exactly what is says on the tin, spawn the parser in a subprocess using multiprocessing and kill the subprocess if it's still running after 10-ish seconds.

Right now that's mostly working, but the subprocess is never returning for some bizarre reason.

rationalist-chat diaspora bridging specification

Overview/goals

We initially tried to implement chat bridging by simply running matterbridge. We ran into some technical issues that looked like they'd take more time than simply implementing the required functionality ourselves in python, especially as we don't seem to have any competent golang developers volunteering their time.

It was determined that python, although less performant, is probably a better tool for the kind of text-munging and data-processing that this project need. Python 3.6's asyncio framework removes a lot of the issues with writing chat bots/interfaces in python. It also has mature libraries for accessing most of the services we need to.

Integrating and standardizing the featuresets of many distinct chat clients is hard, but there's one project that has made an effort to do exactly that. Jabber/XMPP. It also "represents some of the worst excesses of the XML mindset" according to some. It has not been a popular protocol and has many detractors. Still, it seems like the best thing going, and the python bindings are mature enough to mostly abstract the pains of XML away.

Our intent is to implement an interface (a "server component") to these various servers, using the sleekxmpp library. The XMPP standard uses nested "servers", or server components, to implement much of it's functionality. Even something as simple as chat-rooms normally goes on a sub-domain.

This kind of architecture is crazy, and bad, and horrible UX. But it does allow us a ridiculous amount of flexibility. We act as a registry, but the actual bridge could be entirely controlled by the server in question. Or written in entirely different languages.

XMPP provides a standard spec that all bots must conform to.

Server component goals

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.