Giter Club home page Giter Club logo

coffee-maubot's Introduction

🍒 coffee-maubot

Maubot plugins by coffee β˜•

Maubot is a self-hosted, plugin-based chat bot for Matrix.


An anime/manga bot for Matrix. Search anime, manga (manhwa/manhua), and light novels. See series info, status, episodes/chapters, and tags. Search Anilist, MangaDex, and Batoto.

Have the bot choose for you: [p]choose item1 | item2 | item3

A Japanese dictionary Matrix bot for searching and translating Japanese vocabulary. Searches Jisho using Jisho API.

A Korean dictionary Matrix bot for searching and translating Korean vocabulary (Hangul/Hangeul, Hanja). Searches National Institute of Korean Language's Korean-English Learners' Dictionary (ν•œκ΅­μ–΄κΈ°μ΄ˆμ‚¬μ „).

Have the bot send a message as custom HTML. Test and preview formatted HTML body in Matrix.

Get the time in specific cities. Check timezones. !timein New York (Python 3.9+)

Add URL preview embeds to Matrix! A bot that responds to links with a link preview embed, using Matrix API to fetch meta tags. Supports fetching JSON previews.

coffee-maubot's People

Contributors

ajkessel avatar coffeebank avatar peterrus avatar rom4nik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

coffee-maubot's Issues

urlpreview: Error in urlpreview regexp

The urlpreview regexp is grabbing the closing parenthesis in markdown syntax and thus failing when attempting to preview. If the user posts a URL in the form of text

[text](https://link.com)

The closing parenthesis after .com gets pulled in and the preview fails.

urlpreview: Migrate htmlparser to use Synapse's parser

Synapse's parser is a lot more feature complete, including oEmbed support, which can enhance url previews:

Caching could be a nice bonus, but that can be separated into a separate issue/enhancement.

urlpreview: Ability to modify HTML template

In my opinion the HTML that is returned by the bot renders in a way that takes up too much space in the chat. In a previous version of the plugin I hacked the following:

image

If we defer all hardcoded HTML to a simple templating engine users can decide how they want to render previews.

I might give this a try myself sometime.

(The example above was implemented using HTML tables. Hello 1997.)

urlpreview: feature request -- whitelist URLs

Currently, urlpreview supports whitelisting certain urls. This way, users can be selective about outgoing requests for security reasons.

If interested I can help with a PR since this is mostly config side.

urlpreview: don't duplicate previews when message is edited

Currently, if a preview has been generated, and the user edits the message that triggered the preview, urlpreview sends the preview again. Ideally, urlpreview would never send the same preview multiple times (this would be useful even when a message is not edited -- for example, if someone responds to a message with the same link for some reason). An alternative would be to not generate previews on edited messages, or not generate previews unless the hyperlink in the message has been edited.

urlpreview: Don't fetch previews for URLs in code blocks

When someone embeds an URL in a code block (backtick or triple backtick) we probably shouldn't try to fetch a preview because that URL is there for different purposes than a regular URL that is posted to a channel.

I tried to do this with a regex, but my regex wizardry doesn't cut it unfortunately.

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.