|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
namespace MatrixDotNetLib
|
|
|
|
{
|
|
|
|
public class MatrixApis
|
|
|
|
{
|
|
|
|
|
|
|
|
public class Server
|
|
|
|
{
|
|
|
|
public static string Discovery = "/.well-known/matrix/client";
|
|
|
|
public static string Versions = "/_matrix/client/versions";
|
|
|
|
public static string Capabilities = "/_matrix/client/r0/capabilities";
|
|
|
|
public static string Whois = "/_matrix/client/r0/admin/whois/{userid}";
|
|
|
|
public static string Search = "/_matrix/client/r0/search";
|
|
|
|
public static string UserSearch = "/_matrix/client/r0/user_directory/search";
|
|
|
|
public static string RoomList = "/_matrix/client/r0/publicrooms";
|
|
|
|
public static string ManageRooms = "/_matrix/client/r0/directory/list/appservice/{networkid}/{roomid}";
|
|
|
|
public static string UpgradeRoom = "/_matrix/client/r0/rooms/{roomid}/upgrade";
|
|
|
|
public static string Openid = "/_matrix/client/r0/user/{userid}/openid/request_token";
|
|
|
|
public static string Voip = "/_matrix/client/r0/voip/turnserver";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Key
|
|
|
|
{
|
|
|
|
public static string Latest = "/_matrix/client/r0/keys/changes";
|
|
|
|
public static string Claim = "/_matrix/client/r0/keys/claim";
|
|
|
|
public static string Download = "/_matrix/client/r0/keys/query";
|
|
|
|
public static string Upload = "/_matrix/client/r0/keys/upload";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Device
|
|
|
|
{
|
|
|
|
public static string Manage = "/_matrix/client/r0/devices";
|
|
|
|
public static string MultiDelete = "/_matrix/client/r0/delete_devices";
|
|
|
|
public static string Send = "/_matrix/client/r0/sendtodevice/{eventtype}/{txnid}";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Media
|
|
|
|
{
|
|
|
|
public static string Config = "/_matrix/media/r0/config";
|
|
|
|
public static string Save = "/_matrix/media/r0/download/{servername}/{mediaid}";
|
|
|
|
public static string Saveas = "/_matrix/media/r0/download/{servername}/{mediaid}/{filename}";
|
|
|
|
public static string Preview = "/_matrix/media/r0/preview_url";
|
|
|
|
public static string Thumb = "/_matrix/media/r0/thumbnail/{servername}/{mediaid}";
|
|
|
|
public static string Upload = "/_matrix/media/r0/upload";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Notifier
|
|
|
|
{
|
|
|
|
public static string Notifiers = "/_matrix/client/r0/notifications";
|
|
|
|
public static string Pushers = "/_matrix/client/r0/pushers";
|
|
|
|
public static string Set = "/_matrix/client/r0/pushers/set";
|
|
|
|
public static string Rules = "/_matrix/client/r0/pushrules/";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class NotifierRule
|
|
|
|
{
|
|
|
|
public static string Manage = "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleid}";
|
|
|
|
public static string Actions = "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleid}/actions";
|
|
|
|
public static string Toggle = "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleid}/enabled";
|
|
|
|
}
|
|
|
|
|
|
|
|
public static class User
|
|
|
|
{
|
|
|
|
public static string Thirdparty = "/_matrix/client/r0/account/3pid";
|
|
|
|
public static string Deactivate = "/_matrix/client/r0/account/deactivate";
|
|
|
|
public static string Password = "/_matrix/client/r0/account/password";
|
|
|
|
public static string Register = "/_matrix/client/r0/register";
|
|
|
|
public static string WhoAmI = "/_matrix/client/r0/account/whoami";
|
|
|
|
public static string Profile = "/_matrix/client/r0/profile/{userid}";
|
|
|
|
public static string Avatar = "/_matrix/client/r0/profile/{userid}/avtatar_url";
|
|
|
|
public static string DisplayName = "/_matrix/client/r0/profile/{userid}/displayname";
|
|
|
|
public static string ExtraInfo = "/_matrix/client/r0/user/{userid}/account_data/{type}";
|
|
|
|
public static string EventFilter = "/_matrix/client/r0/user/{userid}/filter";
|
|
|
|
public static string Rooms = "/_matrix/client/r0/joined_rooms";
|
|
|
|
public static string Login = "/_matrix/client/r0/login";
|
|
|
|
public static string Logout = "/_matrix/client/r0/logout";
|
|
|
|
public static string Status = "/_matrix/client/r0/presence/{userid}/status";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class UserRoom
|
|
|
|
{
|
|
|
|
public static string Extrainfo = "/_matrix/client/r0/user/{userid}/rooms/{roomid}/account_data/{type}";
|
|
|
|
public static string Tags = "/_matrix/client/r0/user/{userid}/rooms/{roomid}/tags";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Room
|
|
|
|
{
|
|
|
|
public static string Create = "/_matrix/client/r0/createroom";
|
|
|
|
public static string Aliases = "/_matrix/client/unstable/org.matrix.msc2432/rooms/{roomid}/aliases";
|
|
|
|
public static string Active = "/_matrix/client/r0/rooms/{roomid}/joined_members";
|
|
|
|
public static string Members = "/_matrix/client/r0/rooms/{roomid}/members";
|
|
|
|
public static string Messages = "/_matrix/client/r0/rooms/{roomid}/messages";
|
|
|
|
public static string Join = "/_matrix/client/r0/join/{roomidoralias}";
|
|
|
|
public static string Ban = "/_matrix/client/r0/rooms/{roomid}/ban";
|
|
|
|
public static string Forget = "/_matrix/client/r0/rooms/{roomid}/forget";
|
|
|
|
public static string Invite = "/_matrix/client/r0/rooms/{roomid}/invite";
|
|
|
|
public static string IdJoin = "/_matrix/client/r0/rooms/{roomid}/join";
|
|
|
|
public static string Kick = "/_matrix/client/r0/rooms/{roomid}/kick";
|
|
|
|
public static string Leave = "/_matrix/client/r0/rooms/{roomid}/leave";
|
|
|
|
public static string Unban = "/_matrix/client/r0/rooms/{roomid}/unban";
|
|
|
|
public static string Marker = "/_matrix/client/r0/rooms/{roomid}/read_markers";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class RoomEvent
|
|
|
|
{
|
|
|
|
public static string Context = "/_matrix/client/r0/rooms/{roomid}/context/{eventid}";
|
|
|
|
public static string Event = "/_matrix/client/r0/rooms/{roomid}/event/{eventid}";
|
|
|
|
public static string Receipt = "/_matrix/client/r0/rooms/{roomid}/receipt/{receipttype}/{eventid}";
|
|
|
|
public static string Redact = "/_matrix/client/r0/rooms/{roomid}/redact/{eventid}/{txnid}";
|
|
|
|
public static string Send = "/_matrix/client/r0/rooms/{roomid}/send/{eventtype}/{txnid}";
|
|
|
|
public static string Typing = "/_matrix/client/r0/rooms/{roomid}/typing/{userid}";
|
|
|
|
public static string Flag = "/_matrix/client/r0/rooms/{roomid}/report/{eventid}";
|
|
|
|
}
|
|
|
|
|
|
|
|
public class RoomState
|
|
|
|
{
|
|
|
|
public static string List = "/_matrix/client/r0/rooms/{roomid}/state";
|
|
|
|
public static string State = "/_matrix/client/r0/rooms/{roomid}/state/{eventtype}/{statekey}";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public class MatrixApiEntities
|
|
|
|
{
|
|
|
|
public string DeviceId { get; set; }
|
|
|
|
public string EventId { get; set; }
|
|
|
|
public string EventType { get; set; }
|
|
|
|
public string FileName { get; set; }
|
|
|
|
public string FilterId { get; set; }
|
|
|
|
public string Kind { get; set; }
|
|
|
|
public string MediaId { get; set; }
|
|
|
|
public string NetworkId { get; set; }
|
|
|
|
public string ReceiptType { get; set; }
|
|
|
|
public string RoomAlias { get; set; }
|
|
|
|
public string RoomId { get; set; }
|
|
|
|
public string RoomIdOrAlias { get; set; }
|
|
|
|
public string RuleId { get; set; }
|
|
|
|
public string Scope { get; set; }
|
|
|
|
public string ServerName { get; set; }
|
|
|
|
public string StateKey { get; set; }
|
|
|
|
public string Tags { get; set; }
|
|
|
|
public string TxnId { get; set; }
|
|
|
|
public string Type { get; set; }
|
|
|
|
public string UserId { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> Server = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "discovery", "/.well-known/matrix/client" },
|
|
|
|
// { "versions", "/_matrix/client/versions" },
|
|
|
|
// { "capabilities", "/_matrix/client/r0/capabilities" },
|
|
|
|
// { "whois", "/_matrix/client/r0/admin/whois/{userId}" },
|
|
|
|
// { "search", "/_matrix/client/r0/search" },
|
|
|
|
// { "usersearch", "/_matrix/client/r0/user_directory/search" },
|
|
|
|
// { "roomlist", "/_matrix/client/r0/publicRooms" },
|
|
|
|
// { "managerooms", "/_matrix/client/r0/directory/list/appservice/{networkId}/{roomId}" },
|
|
|
|
// { "upgraderoom", "/_matrix/client/r0/rooms/{roomId}/upgrade" },
|
|
|
|
// { "openid", "/_matrix/client/r0/user/{userId}/openid/request_token" },
|
|
|
|
// { "voip", "/_matrix/client/r0/voip/turnServer" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> Key = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "latest", "/_matrix/client/r0/keys/changes" },
|
|
|
|
// { "claim", "/_matrix/client/r0/keys/claim" },
|
|
|
|
// { "download", "/_matrix/client/r0/keys/query" },
|
|
|
|
// { "upload", "/_matrix/client/r0/keys/upload" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> Device = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "manage", "/_matrix/client/r0/devices" },
|
|
|
|
// { "multidelete", "/_matrix/client/r0/delete_devices" },
|
|
|
|
// { "send", "/_matrix/client/r0/sendToDevice/{eventType}/{txnId}" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> Media = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "config", "/_matrix/media/r0/config" },
|
|
|
|
// { "save", "/_matrix/media/r0/download/{serverName}/{mediaId}" },
|
|
|
|
// { "saveas", "/_matrix/media/r0/download/{serverName}/{mediaId}/{fileName}" },
|
|
|
|
// { "preview", "/_matrix/media/r0/preview_url" },
|
|
|
|
// { "thumb", "/_matrix/media/r0/thumbnail/{serverName}/{mediaId}" },
|
|
|
|
// { "upload", "/_matrix/media/r0/upload" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> Notifier = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "notifiers", "/_matrix/client/r0/notifications" },
|
|
|
|
// { "pushers", "/_matrix/client/r0/pushers" },
|
|
|
|
// { "set", "/_matrix/client/r0/pushers/set" },
|
|
|
|
// { "rules", "/_matrix/client/r0/pushrules/" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> NotifierRule = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "manage", "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}" },
|
|
|
|
// { "actions", "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/actions" },
|
|
|
|
// { "toggle", "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/enabled" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> User = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "thirdparty", "/_matrix/client/r0/account/3pid" },
|
|
|
|
// { "deactivate", "/_matrix/client/r0/account/deactivate" },
|
|
|
|
// { "password", "/_matrix/client/r0/account/password" },
|
|
|
|
// { "register", "/_matrix/client/r0/register" },
|
|
|
|
// { "whoami", "/_matrix/client/r0/account/whoami" },
|
|
|
|
// { "profile", "/_matrix/client/r0/profile/{userId}" },
|
|
|
|
// { "avatar", "/_matrix/client/r0/profile/{userId}/avtatar_url" },
|
|
|
|
// { "displayname", "/_matrix/client/r0/profile/{userId}/displayname" },
|
|
|
|
// { "extrainfo", "/_matrix/client/r0/user/{userId}/account_data/{type}" },
|
|
|
|
// { "eventfilter", "/_matrix/client/r0/user/{userId}/filter" },
|
|
|
|
// { "rooms", "/_matrix/client/r0/joined_rooms" },
|
|
|
|
// { "login", "/_matrix/client/r0/login" },
|
|
|
|
// { "logout", "/_matrix/client/r0/logout" },
|
|
|
|
// { "status", "/_matrix/client/r0/presence/{userId}/status" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> UserRoom = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "extrainfo", "/_matrix/client/r0/user/{userId}/rooms/{roomId}/account_data/{type}" },
|
|
|
|
// { "tags", "/_matrix/client/r0/user/{userId}/rooms/{roomId}/tags" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> Room = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "create", "/_matrix/client/r0/createRoom" },
|
|
|
|
// { "aliases", "/_matrix/client/unstable/org.matrix.msc2432/rooms/{roomId}/aliases" },
|
|
|
|
// { "active", "/_matrix/client/r0/rooms/{roomId}/joined_members" },
|
|
|
|
// { "members", "/_matrix/client/r0/rooms/{roomId}/members" },
|
|
|
|
// { "messages", "/_matrix/client/r0/rooms/{roomId}/messages" },
|
|
|
|
// { "join", "/_matrix/client/r0/join/{roomIdOrAlias}" },
|
|
|
|
// { "ban", "/_matrix/client/r0/rooms/{roomId}/ban" },
|
|
|
|
// { "forget", "/_matrix/client/r0/rooms/{roomId}/forget" },
|
|
|
|
// { "invite", "/_matrix/client/r0/rooms/{roomId}/invite" },
|
|
|
|
// { "idjoin", "/_matrix/client/r0/rooms/{roomId}/join" },
|
|
|
|
// { "kick", "/_matrix/client/r0/rooms/{roomId}/kick" },
|
|
|
|
// { "leave", "/_matrix/client/r0/rooms/{roomId}/leave" },
|
|
|
|
// { "unban", "/_matrix/client/r0/rooms/{roomId}/unban" },
|
|
|
|
// { "marker", "/_matrix/client/r0/rooms/{roomId}/read_markers" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> RoomEvent = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "context", "/_matrix/client/r0/rooms/{roomId}/context/{eventId}" },
|
|
|
|
// { "event", "/_matrix/client/r0/rooms/{roomId}/event/{eventId}" },
|
|
|
|
// { "receipt", "/_matrix/client/r0/rooms/{roomId}/receipt/{receiptType}/{eventId}" },
|
|
|
|
// { "redact", "/_matrix/client/r0/rooms/{roomId}/redact/{eventId}/{txnId}" },
|
|
|
|
// { "send", "/_matrix/client/r0/rooms/{roomId}/send/{eventType}/{txnId}" },
|
|
|
|
// { "typing", "/_matrix/client/r0/rooms/{roomId}/typing/{userId}" },
|
|
|
|
// { "flag", "/_matrix/client/r0/rooms/{roomId}/report/{eventId}" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public static Dictionary<string, string> RoomState = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "list", "/_matrix/client/r0/rooms/{roomId}/state" },
|
|
|
|
// { "state", "/_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}" }
|
|
|
|
//};
|
|
|
|
|
|
|
|
//public Dictionary<string, string> Entities = new Dictionary<string, string>()
|
|
|
|
//{
|
|
|
|
// { "deviceId", "" },
|
|
|
|
// { "eventId", "" },
|
|
|
|
// { "eventType", "" },
|
|
|
|
// { "fileName", "" },
|
|
|
|
// { "filterId", "" },
|
|
|
|
// { "kind", "" },
|
|
|
|
// { "mediaId", "" },
|
|
|
|
// { "networkId", "" },
|
|
|
|
// { "receiptType", "" },
|
|
|
|
// { "roomAlias", "" },
|
|
|
|
// { "roomId", "" },
|
|
|
|
// { "roomIdOrAlias", "" },
|
|
|
|
// { "ruleId", "" },
|
|
|
|
// { "scope", "" },
|
|
|
|
// { "serverName", "" },
|
|
|
|
// { "stateKey", "" },
|
|
|
|
// { "tags", "" },
|
|
|
|
// { "txnId", "" },
|
|
|
|
// { "type", "" },
|
|
|
|
// { "userId", "" }
|
|
|
|
//};
|
|
|
|
}
|