From fede589b0c1c4911569f8adde38b0f322e70c379 Mon Sep 17 00:00:00 2001 From: minie4 Date: Fri, 23 Jun 2023 23:38:51 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Automatically=20set=20the=20bot's?= =?UTF-8?q?=20profile=20info?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.sample | 5 ++++- images/profile-picture.png | Bin 0 -> 5820 bytes index.js | 21 ++++++++++++++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 images/profile-picture.png diff --git a/.env.sample b/.env.sample index edea89e..348d121 100644 --- a/.env.sample +++ b/.env.sample @@ -12,4 +12,7 @@ MATRIX_USER= # You can get the access token by for example logging into # the bot's matrix account in element and copying the # Access Token under Settings > Help & About > Advanced -MATRIX_TOKEN= \ No newline at end of file +MATRIX_TOKEN= + +# The bot set this as its display name (Default: Timetable V2) +MATRIX_DISPLAYNAME= \ No newline at end of file diff --git a/images/profile-picture.png b/images/profile-picture.png new file mode 100644 index 0000000000000000000000000000000000000000..9002b8b249931f2a44dbadd99094ebe1f070ce9c GIT binary patch literal 5820 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 { + const profileInfo = await client.getProfileInfo(userId); + if (profileInfo.displayname != displayName) { + await client.setProfileInfo("displayname", { + displayname: displayName, + }); + const file = fs.readFileSync("./images/profile-picture.png"); + const content = await client.uploadContent(file, { + name: "profile-picture.png", + type: "image/png", + }); + await client.setProfileInfo("avatar_url", { + avatar_url: content.content_uri, + }); + } +})(); + client.once("sync", function (state) { if (state === "PREPARED") { console.log("sync finished"); @@ -105,7 +124,7 @@ setInterval(async () => { client.sendHtmlMessage(roomId, plainText(message), message); } } -}, 1000 * 60); +}, 1000); // Handle events client.on("Room.timeline", async function (event, room) {