Add examples on how to send messages to rooms
This adds two similar examples, one using matrix.client, and the other using matrix.api.
This commit is contained in:
18
examples/api-send-message.lua
Normal file
18
examples/api-send-message.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
#! /usr/bin/env lua
|
||||
--
|
||||
-- api-send-message.lua
|
||||
-- Copyright (C) 2016 Adrian Perez <aperez@igalia.com>
|
||||
--
|
||||
-- Distributed under terms of the MIT license.
|
||||
--
|
||||
|
||||
if #arg ~= 4 then
|
||||
io.stderr:write(string.format("Usage: %s <homeserver-URL> <username> <password> <room>\n", arg[0]))
|
||||
os.exit(1)
|
||||
end
|
||||
|
||||
local api = require "matrix" .api(arg[1])
|
||||
local response = api:login("m.login.password", { user = arg[2], password = arg[3] })
|
||||
api.token = response.access_token
|
||||
api:send_message(arg[4], io.read("*a"))
|
||||
api:logout()
|
||||
24
examples/client-send-message.lua
Normal file
24
examples/client-send-message.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
#! /usr/bin/env lua
|
||||
--
|
||||
-- send-message.lua
|
||||
-- Copyright (C) 2016 Adrian Perez <aperez@igalia.com>
|
||||
--
|
||||
-- Distributed under terms of the MIT license.
|
||||
--
|
||||
|
||||
if #arg ~= 4 then
|
||||
io.stderr:write(string.format("Usage: %s <homeserver-URL> <username> <password> <room>\n", arg[0]))
|
||||
os.exit(1)
|
||||
end
|
||||
|
||||
local client = require "matrix" .client(arg[1])
|
||||
client:login_with_password(arg[2], arg[3])
|
||||
|
||||
-- FIXME: This does not resolve room aliases, it works only with room IDs
|
||||
local room = client.rooms[arg[4]]
|
||||
if not room then
|
||||
room = client:join_room(arg[4])
|
||||
end
|
||||
|
||||
room:send_text(io.read("*a"))
|
||||
client:logout()
|
||||
Reference in New Issue
Block a user