{"repo":"WesR/Halcyon","free":true,"listed":false,"github":"https://github.com/WesR/Halcyon","clone":"git clone https://github.com/WesR/Halcyon.git","description":"Halcyon is a Matrix bot library created with the intention of being easy to install and use.","language":"Python","stars":26,"topics":["matrix","matrix-library","python3"],"license":"BSD-3-Clause","category":"chat-messaging","readme_excerpt":"Halcyon Halcyon is a Matrix bot library with the goal of being easy to install and use. The library takes inspiration from discord.py and the Slack libraries. Encryption is on the roadmap, and with the goal of being transparent to the user. Check the roadmap in notes.md, and see information of the token format in tokenFormat.md Ask questions in the matrix chat #halcyon:blackline.xyz or in GitHub issues. Current features - A nice CLI tool to generate Halcyon tokens - Login with token or username/password - Async long polling with a structured sync event pipeline - Typed event hooks for common events, plus a generic on event fallback for everything else - Event hooks - on ready() — bot is online and ready - on message(message) — message-like timeline content ( m.room.message and m.sticker ) - on message edit(message) — edited room message - on reaction(event) — m.reaction events - on redaction(event) — m.room.redaction events - on room member(event) — membership changes (join, leave, ban, invite, knock) - on room invite(room) — invited to a room - on room leave(roomID) — left or kicked from a room - on event(event) — fires for every Matrix event object present in /sync - Action hooks - send message(roomID, body, textFormat, replyTo, isNotice) - send typing(roomID, seconds) - change presence(presence, statusMessage) - join room(roomID) - download media(mxc) - upload media(fileBuffer, fileName) - send image(roomID, fileBuffer, fileName, generate blurhash, generate thumbnail) - ge","default_branch":null,"files":null,"tree":[],"storefront":"/r/WesR","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/WesR/Halcyon/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}