{"id":13419078,"url":"https://github.com/torhve/weechat-matrix-protocol-script","last_synced_at":"2025-12-24T22:50:56.427Z","repository":{"id":27876886,"uuid":"31368005","full_name":"torhve/weechat-matrix-protocol-script","owner":"torhve","description":"A WeeChat script in Lua that implements the matrix.org chat protocol","archived":false,"fork":false,"pushed_at":"2019-07-01T12:04:00.000Z","size":855,"stargazers_count":349,"open_issues_count":53,"forks_count":52,"subscribers_count":25,"default_branch":"master","last_synced_at":"2024-07-31T22:45:40.483Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/torhve.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-26T13:22:33.000Z","updated_at":"2024-04-08T12:24:22.000Z","dependencies_parsed_at":"2022-09-04T00:40:34.934Z","dependency_job_id":null,"html_url":"https://github.com/torhve/weechat-matrix-protocol-script","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torhve%2Fweechat-matrix-protocol-script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torhve%2Fweechat-matrix-protocol-script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torhve%2Fweechat-matrix-protocol-script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/torhve%2Fweechat-matrix-protocol-script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/torhve","download_url":"https://codeload.github.com/torhve/weechat-matrix-protocol-script/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243685506,"owners_count":20330980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:11.019Z","updated_at":"2025-12-24T22:50:56.421Z","avatar_url":"https://github.com/torhve.png","language":"Lua","readme":"# Matrix Client script for WeeChat\n\nAlso known as WeeMatrix, this script is considered beta quality as not all functionality is in place and still has known bugs, and unknown bugs to be discovered and fixed.\n\n## Project Status and Alternative Client\n\nWhile this script generally works for general usage, there's a new script that's more actively developed here: https://github.com/poljar/weechat-matrix\n\n## What is Matrix ?\n\nMatrix is a new open source realtime federated chat protocol. You can read more about it on [their website](http://matrix.org/blog/faq/).\n\n## What is WeeChat ?\n\n[WeeChat](http://weechat.org) is a super powerful CLI chat client that's extensible in many languages to allow for new protocols like Matrix.\n\n## What does it look like?\n\n\u003e WeeChat in a terminal\n\n![weechat ncurses cli screenshot](https://hveem.no/ss/weechat-matrix-ss.png)\n\n\u003e WeeChat in a relay client [Glowing Bear](http://github.com/glowing-bear)\n\n![weechat glowing bear](https://hveem.no/ss/weechat-matrix-gb.png)\n\n## How to load and use the plugin\n\n```bash\n# Clone this repo\ngit clone https://github.com/torhve/weechat-matrix-protocol-script.git\n# Copy the script into WeeChat's Lua dir\ncp weechat-matrix-protocol-script/matrix.lua ~/.weechat/lua/\n# Make a symlink into the autoload dir to load the script automatically when WeeChat starts\nln -s ~/.weechat/lua/matrix.lua ~/.weechat/lua/autoload/\n# Start WeeChat\nweechat\n```\nHelpful commands after starting WeeChat\n```\n# If you didn't put matrix.lua in autoload\n/script load matrix.lua\n# Set the two required settings. Look in WeeChat docs for secdata if you don't want to store passord in the clear. ( http://dev.weechat.org/post/2013/08/04/Secured-data )\n/set plugins.var.lua.matrix.user username\n/set plugins.var.lua.matrix.password secret\n/matrix connect\n\n# to display all the possible WeeChat Matrix settings:\n/set plugins.var.lua.matrix.*\n# to get a description for each option\n/help plugins.var.lua.matrix.local_echo\n\n```\n\nWhen it connects it will create a WeeChat buffer called matrix that will act\nlike the \"server\" buffer. Some errors messages and status messages will appear\nin there on certain events like joing/invite/connection problems/etc. It will\nalso create buffers for any rooms that you have already join on this or any\nother client.\n\nMost IRC commands you would expect work exists, like /join /query /part /kick\n/op /voice /notice, etc. There might be slight differences from normal usage.\n\nThere's a /create room name to create a new room with a given name.\n\nIf at any point you get any errors you can always try reloading the script to\nrefresh the state by issuing the command\n\n```\n/script reload matrix\n```\n\nIf you get invited to a room, the script will autojoin, which is configurable\nbehaviour.\n\n## Configuration\n\nGiven Matrix display names can be quite long, we recommend limiting\nthe size of the prefix and username lists:\n\n```\n/set weechat.look.prefix_align_max 20\n/set weechat.bar.nicklist.size 20\n```\n\nTo get an item on your status bar to show users currently typing in the active room buffer add the `matrix_typing_notice` item to the status bar like this:\n```\n/set weechat.bar.status.items [buffer_count],[buffer_plugin],buffer_number+:+buffer_name+{buffer_nicklist_count}+buffer_filter,[hotlist],completion,scroll,matrix_typing_notice\n```\n\nIt's helpful to use tab-complete after typing the option name to get the current setting, and then just add it to the end\n\n## To hot-update the plugin\n\n```bash\ngit pull\n```\n\n```\n/script reload matrix\n```\n\n## How to get WeeChat \u0026 Lua deps up and running on Debian/Ubuntu:\n\n```bash\nsudo apt-get install weechat lua-cjson\n```\n\nNote that the weechat in jessie (1.0.1) is quite old compared to upstream and is\nmissing many bugfixes. This plugin may not work with older versions. There are\nunofficial packages [here](https://weechat.org/download/debian/).\n\n## How to get WeeChat \u0026 Lua deps up and running on CentOS/RHEL:\n\n```bash\nsudo yum install epel-release\nsudo yum install weechat lua lua-devel luarocks\nsudo luarocks install lua-cjson\n```\n\n## How to get WeeChat \u0026 Lua deps up and running on OSX:\n\n### using brew (recommended; it's a simpler faster install and ships newer weechat than MacPorts):\n```bash\nbrew install lua\nluarocks install lua-cjson\nbrew install weechat --with-lua\n```\n\n### using MacPorts:\n```bash\nsudo port install weechat +lua\nsudo port install luarocks\nsudo luarocks install lua-cjson\n# You may need to substitute the version number for whatever version of lua macports installed\nexport LUA_PATH=\"/opt/local/share/luarocks/share/lua/5.3/?.lua;/opt/local/share/luarocks/share/lua/5.3/?/init.lua;$LUA_PATH\"\nexport LUA_CPATH=\"/opt/local/share/luarocks/lib/lua/5.3/?.so;$LUA_CPATH\"\n```\n\n## How to get WeeChat \u0026 Lua deps up and running on Arch:\n```bash\nsudo pacman -S lua weechat\n# You can grab lua-cjson from either the AUR:\npacaur -y lua-cjson\n# Or through the luarocks package manager:\nluarocks install lua-cjson\n```\n\n# Encryption\n\nThe current encryption implementation in weechat-matrix-protocol is incompatible with Matrix. It was written for an early proof-of-concept version of the protocol that used Olm, and does not work with the current Matrix protocol which utilises Megolm.\n\nHelp appreciated to get it working!\n\n# License\n\nMIT\n","funding_links":[],"categories":["Lua"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorhve%2Fweechat-matrix-protocol-script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftorhve%2Fweechat-matrix-protocol-script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorhve%2Fweechat-matrix-protocol-script/lists"}