rich presence for the hell of it
This commit is contained in:
		
							parent
							
								
									5cf3ef01ef
								
							
						
					
					
						commit
						1eeaec78e3
					
				
					 8 changed files with 150 additions and 1 deletions
				
			
		| 
						 | 
					@ -8,6 +8,7 @@
 | 
				
			||||||
  "license": "MIT",
 | 
					  "license": "MIT",
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "chalk": "4.1.2",
 | 
					    "chalk": "4.1.2",
 | 
				
			||||||
 | 
					    "discord-rpc": "^4.0.1",
 | 
				
			||||||
    "eris": "github:abalabahaha/eris#dev"
 | 
					    "eris": "github:abalabahaha/eris#dev"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										83
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										83
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							| 
						 | 
					@ -2,10 +2,12 @@ lockfileVersion: 5.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
specifiers:
 | 
					specifiers:
 | 
				
			||||||
  chalk: 4.1.2
 | 
					  chalk: 4.1.2
 | 
				
			||||||
 | 
					  discord-rpc: ^4.0.1
 | 
				
			||||||
  eris: github:abalabahaha/eris#dev
 | 
					  eris: github:abalabahaha/eris#dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dependencies:
 | 
					dependencies:
 | 
				
			||||||
  chalk: 4.1.2
 | 
					  chalk: 4.1.2
 | 
				
			||||||
 | 
					  discord-rpc: 4.0.1
 | 
				
			||||||
  eris: github.com/abalabahaha/eris/eb403730855714eafa36c541dbe2cb84c9979158
 | 
					  eris: github.com/abalabahaha/eris/eb403730855714eafa36c541dbe2cb84c9979158
 | 
				
			||||||
 | 
					
 | 
				
			||||||
packages:
 | 
					packages:
 | 
				
			||||||
| 
						 | 
					@ -17,6 +19,13 @@ packages:
 | 
				
			||||||
      color-convert: 2.0.1
 | 
					      color-convert: 2.0.1
 | 
				
			||||||
    dev: false
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /bindings/1.5.0:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
 | 
				
			||||||
 | 
					    dependencies:
 | 
				
			||||||
 | 
					      file-uri-to-path: 1.0.0
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					    optional: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /chalk/4.1.2:
 | 
					  /chalk/4.1.2:
 | 
				
			||||||
    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
 | 
					    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
 | 
				
			||||||
    engines: {node: '>=10'}
 | 
					    engines: {node: '>=10'}
 | 
				
			||||||
| 
						 | 
					@ -36,11 +45,46 @@ packages:
 | 
				
			||||||
    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
 | 
					    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
 | 
				
			||||||
    dev: false
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /discord-rpc/4.0.1:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-HOvHpbq5STRZJjQIBzwoKnQ0jHplbEWFWlPDwXXKm/bILh4nzjcg7mNqll0UY7RsjFoaXA7e/oYb/4lvpda2zA==}
 | 
				
			||||||
 | 
					    dependencies:
 | 
				
			||||||
 | 
					      node-fetch: 2.6.7
 | 
				
			||||||
 | 
					      ws: 7.5.9
 | 
				
			||||||
 | 
					    optionalDependencies:
 | 
				
			||||||
 | 
					      register-scheme: github.com/devsnek/node-register-scheme/e7cc9a63a1f512565da44cb57316d9fb10750e17
 | 
				
			||||||
 | 
					    transitivePeerDependencies:
 | 
				
			||||||
 | 
					      - bufferutil
 | 
				
			||||||
 | 
					      - encoding
 | 
				
			||||||
 | 
					      - utf-8-validate
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /file-uri-to-path/1.0.0:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					    optional: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /has-flag/4.0.0:
 | 
					  /has-flag/4.0.0:
 | 
				
			||||||
    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
 | 
					    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
 | 
				
			||||||
    engines: {node: '>=8'}
 | 
					    engines: {node: '>=8'}
 | 
				
			||||||
    dev: false
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /node-addon-api/1.7.2:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==}
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					    optional: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /node-fetch/2.6.7:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
 | 
				
			||||||
 | 
					    engines: {node: 4.x || >=6.0.0}
 | 
				
			||||||
 | 
					    peerDependencies:
 | 
				
			||||||
 | 
					      encoding: ^0.1.0
 | 
				
			||||||
 | 
					    peerDependenciesMeta:
 | 
				
			||||||
 | 
					      encoding:
 | 
				
			||||||
 | 
					        optional: true
 | 
				
			||||||
 | 
					    dependencies:
 | 
				
			||||||
 | 
					      whatwg-url: 5.0.0
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /opusscript/0.0.8:
 | 
					  /opusscript/0.0.8:
 | 
				
			||||||
    resolution: {integrity: sha512-VSTi1aWFuCkRCVq+tx/BQ5q9fMnQ9pVZ3JU4UHKqTkf0ED3fKEPdr+gKAAl3IA2hj9rrP6iyq3hlcJq3HELtNQ==}
 | 
					    resolution: {integrity: sha512-VSTi1aWFuCkRCVq+tx/BQ5q9fMnQ9pVZ3JU4UHKqTkf0ED3fKEPdr+gKAAl3IA2hj9rrP6iyq3hlcJq3HELtNQ==}
 | 
				
			||||||
    requiresBuild: true
 | 
					    requiresBuild: true
 | 
				
			||||||
| 
						 | 
					@ -54,12 +98,40 @@ packages:
 | 
				
			||||||
      has-flag: 4.0.0
 | 
					      has-flag: 4.0.0
 | 
				
			||||||
    dev: false
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /tr46/0.0.3:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /tweetnacl/1.0.3:
 | 
					  /tweetnacl/1.0.3:
 | 
				
			||||||
    resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==}
 | 
					    resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==}
 | 
				
			||||||
    requiresBuild: true
 | 
					    requiresBuild: true
 | 
				
			||||||
    dev: false
 | 
					    dev: false
 | 
				
			||||||
    optional: true
 | 
					    optional: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /webidl-conversions/3.0.1:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /whatwg-url/5.0.0:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
 | 
				
			||||||
 | 
					    dependencies:
 | 
				
			||||||
 | 
					      tr46: 0.0.3
 | 
				
			||||||
 | 
					      webidl-conversions: 3.0.1
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /ws/7.5.9:
 | 
				
			||||||
 | 
					    resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
 | 
				
			||||||
 | 
					    engines: {node: '>=8.3.0'}
 | 
				
			||||||
 | 
					    peerDependencies:
 | 
				
			||||||
 | 
					      bufferutil: ^4.0.1
 | 
				
			||||||
 | 
					      utf-8-validate: ^5.0.2
 | 
				
			||||||
 | 
					    peerDependenciesMeta:
 | 
				
			||||||
 | 
					      bufferutil:
 | 
				
			||||||
 | 
					        optional: true
 | 
				
			||||||
 | 
					      utf-8-validate:
 | 
				
			||||||
 | 
					        optional: true
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /ws/8.8.1:
 | 
					  /ws/8.8.1:
 | 
				
			||||||
    resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==}
 | 
					    resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==}
 | 
				
			||||||
    engines: {node: '>=10.0.0'}
 | 
					    engines: {node: '>=10.0.0'}
 | 
				
			||||||
| 
						 | 
					@ -87,3 +159,14 @@ packages:
 | 
				
			||||||
      - bufferutil
 | 
					      - bufferutil
 | 
				
			||||||
      - utf-8-validate
 | 
					      - utf-8-validate
 | 
				
			||||||
    dev: false
 | 
					    dev: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  github.com/devsnek/node-register-scheme/e7cc9a63a1f512565da44cb57316d9fb10750e17:
 | 
				
			||||||
 | 
					    resolution: {tarball: https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17}
 | 
				
			||||||
 | 
					    name: register-scheme
 | 
				
			||||||
 | 
					    version: 0.0.2
 | 
				
			||||||
 | 
					    requiresBuild: true
 | 
				
			||||||
 | 
					    dependencies:
 | 
				
			||||||
 | 
					      bindings: 1.5.0
 | 
				
			||||||
 | 
					      node-addon-api: 1.7.2
 | 
				
			||||||
 | 
					    dev: false
 | 
				
			||||||
 | 
					    optional: true
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
const {addCommand} = require("../lib/command");
 | 
					const {addCommand} = require("../lib/command");
 | 
				
			||||||
 | 
					const {updatePresence} = require("../lib/presence");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
addCommand("A", "toggles AFK mode", function () {
 | 
					addCommand("A", "toggles AFK mode", function () {
 | 
				
			||||||
  if (comcord.state.afk == true) {
 | 
					  if (comcord.state.afk == true) {
 | 
				
			||||||
| 
						 | 
					@ -12,4 +13,6 @@ addCommand("A", "toggles AFK mode", function () {
 | 
				
			||||||
    comcord.client.editAFK(true);
 | 
					    comcord.client.editAFK(true);
 | 
				
			||||||
    console.log("<you go AFK>");
 | 
					    console.log("<you go AFK>");
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  updatePresence();
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
const chalk = require("chalk");
 | 
					const chalk = require("chalk");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const {startPrompt} = require("../lib/prompt");
 | 
					const {startPrompt} = require("../lib/prompt");
 | 
				
			||||||
 | 
					const {updatePresence} = require("../lib/presence");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function sendMode() {
 | 
					function sendMode() {
 | 
				
			||||||
  if (!comcord.state.currentChannel) {
 | 
					  if (!comcord.state.currentChannel) {
 | 
				
			||||||
| 
						 | 
					@ -30,6 +31,8 @@ function sendMode() {
 | 
				
			||||||
            comcord.client.editStatus("online");
 | 
					            comcord.client.editStatus("online");
 | 
				
			||||||
            comcord.client.editAFK(false);
 | 
					            comcord.client.editAFK(false);
 | 
				
			||||||
            console.log("<you have returned>");
 | 
					            console.log("<you have returned>");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            updatePresence();
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        } catch (err) {
 | 
					        } catch (err) {
 | 
				
			||||||
          console.log("<failed to send message: " + err.message + ">");
 | 
					          console.log("<failed to send message: " + err.message + ">");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
const {addCommand} = require("../lib/command");
 | 
					const {addCommand} = require("../lib/command");
 | 
				
			||||||
const {startPrompt} = require("../lib/prompt");
 | 
					const {startPrompt} = require("../lib/prompt");
 | 
				
			||||||
 | 
					const {updatePresence} = require("../lib/presence");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const {listUsers} = require("./listUsers");
 | 
					const {listUsers} = require("./listUsers");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,6 +33,8 @@ function switchChannel(input) {
 | 
				
			||||||
    const channel = guild.channels.get(comcord.state.currentChannel);
 | 
					    const channel = guild.channels.get(comcord.state.currentChannel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    process.title = `${guild.name} - ${channel.name} - comcord`;
 | 
					    process.title = `${guild.name} - ${channel.name} - comcord`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    updatePresence();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
const {addCommand} = require("../lib/command");
 | 
					const {addCommand} = require("../lib/command");
 | 
				
			||||||
const {startPrompt} = require("../lib/prompt");
 | 
					const {startPrompt} = require("../lib/prompt");
 | 
				
			||||||
 | 
					const {updatePresence} = require("../lib/presence");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const {listChannels} = require("./listChannels");
 | 
					const {listChannels} = require("./listChannels");
 | 
				
			||||||
const {listUsers} = require("./listUsers");
 | 
					const {listUsers} = require("./listUsers");
 | 
				
			||||||
| 
						 | 
					@ -47,6 +48,8 @@ function switchGuild(input) {
 | 
				
			||||||
    const channel = guild.channels.get(comcord.state.currentChannel);
 | 
					    const channel = guild.channels.get(comcord.state.currentChannel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    process.title = `${guild.name} - ${channel.name} - comcord`;
 | 
					    process.title = `${guild.name} - ${channel.name} - comcord`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    updatePresence();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										19
									
								
								src/index.js
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								src/index.js
									
										
									
									
									
								
							| 
						 | 
					@ -1,5 +1,8 @@
 | 
				
			||||||
const Eris = require("eris");
 | 
					const Eris = require("eris");
 | 
				
			||||||
const chalk = require("chalk");
 | 
					const chalk = require("chalk");
 | 
				
			||||||
 | 
					const DiscordRPC = require("discord-rpc");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const CLIENT_ID = "1026163285877325874";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const token = process.argv[2];
 | 
					const token = process.argv[2];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,9 +27,12 @@ const client = new Eris("Bot " + token, {
 | 
				
			||||||
  intents: Eris.Constants.Intents.all,
 | 
					  intents: Eris.Constants.Intents.all,
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
comcord.client = client;
 | 
					comcord.client = client;
 | 
				
			||||||
 | 
					const rpc = new DiscordRPC.Client({transport: "ipc"});
 | 
				
			||||||
 | 
					comcord.rpc = rpc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const {finalizePrompt} = require("./lib/prompt");
 | 
					const {finalizePrompt} = require("./lib/prompt");
 | 
				
			||||||
const {processMessage, processQueue} = require("./lib/messages");
 | 
					const {processMessage, processQueue} = require("./lib/messages");
 | 
				
			||||||
 | 
					const {updatePresence} = require("./lib/presence");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require("./commands/quit");
 | 
					require("./commands/quit");
 | 
				
			||||||
require("./commands/clear");
 | 
					require("./commands/clear");
 | 
				
			||||||
| 
						 | 
					@ -56,16 +62,27 @@ client.once("ready", function () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  client.editStatus("online", [
 | 
					  client.editStatus("online", [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      application_id: "1026163285877325874",
 | 
					      application_id: CLIENT_ID,
 | 
				
			||||||
      name: "comcord",
 | 
					      name: "comcord",
 | 
				
			||||||
      timestamps: {
 | 
					      timestamps: {
 | 
				
			||||||
        start: comcord.state.startTime,
 | 
					        start: comcord.state.startTime,
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  ]);
 | 
					  ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  rpc
 | 
				
			||||||
 | 
					    .login({
 | 
				
			||||||
 | 
					      clientId: CLIENT_ID,
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					    .catch(function () {});
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
client.on("error", function () {});
 | 
					client.on("error", function () {});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rpc.on("ready", function () {
 | 
				
			||||||
 | 
					  updatePresence();
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					rpc.on("error", function () {});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
client.on("messageCreate", function (msg) {
 | 
					client.on("messageCreate", function (msg) {
 | 
				
			||||||
  if (msg.author.id === client.user.id) return;
 | 
					  if (msg.author.id === client.user.id) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										36
									
								
								src/lib/presence.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/lib/presence.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,36 @@
 | 
				
			||||||
 | 
					function updatePresence() {
 | 
				
			||||||
 | 
					  let guild, channel;
 | 
				
			||||||
 | 
					  if (comcord.state.currentGuild != null) {
 | 
				
			||||||
 | 
					    guild = comcord.client.guilds.get(comcord.state.currentGuild);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  if (comcord.state.currentChannel != null && guild != null) {
 | 
				
			||||||
 | 
					    channel = guild.channels.get(comcord.state.currentChannel);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  try {
 | 
				
			||||||
 | 
					    const activity = {
 | 
				
			||||||
 | 
					      startTimestamp: comcord.state.startTime,
 | 
				
			||||||
 | 
					      smallImageKey: `https://cdn.discordapp.com/avatars/${comcord.client.user.id}/${comcord.client.user.avatar}.png?size=1024`,
 | 
				
			||||||
 | 
					      smallImageText: `${comcord.client.user.username}#${comcord.client.user.discriminator}`,
 | 
				
			||||||
 | 
					      buttons: [
 | 
				
			||||||
 | 
					        {label: "comcord Repo", url: "https://github.com/Cynosphere/comcord"},
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (guild != null) {
 | 
				
			||||||
 | 
					      activity.largeImageKey = `https://cdn.discordapp.com/icons/${guild.id}/${guild.icon}.png?size=1024`;
 | 
				
			||||||
 | 
					      activity.largeImageText = guild.name;
 | 
				
			||||||
 | 
					      if (channel != null) {
 | 
				
			||||||
 | 
					        activity.details = `#${channel.name} - ${guild.name}`;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (comcord.state.afk == true) {
 | 
				
			||||||
 | 
					      activity.state = "AFK";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    comcord.rpc.setActivity(activity);
 | 
				
			||||||
 | 
					  } catch (err) {
 | 
				
			||||||
 | 
					    //
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = {updatePresence};
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue