mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-03 23:36:43 +02:00
Allow attachments to send over phone
This commit is contained in:
@@ -66,14 +66,17 @@ client.on('ready', () => {
|
||||
|
||||
client.on('message', async msg => {
|
||||
if (!msg.channel.topic || !msg.channel.topic.includes('<xiao:phone>')) return;
|
||||
if (msg.author.bot || !msg.content) return;
|
||||
const hasText = Boolean(msg.content);
|
||||
const hasImage = msg.attachments.size !== 0;
|
||||
const hasEmbed = msg.embeds.length !== 0;
|
||||
if (!hasText && !hasImage && !hasEmbed) return;
|
||||
const origin = client.phone.find(call => call.origin.id === msg.channel.id);
|
||||
const recipient = client.phone.find(call => call.recipient.id === msg.channel.id);
|
||||
if (!origin && !recipient) return;
|
||||
const call = origin || recipient;
|
||||
if (!call.active) return;
|
||||
try {
|
||||
await call.send(origin ? call.recipient : call.origin, msg);
|
||||
await call.send(origin ? call.recipient : call.origin, msg, hasText, hasImage, hasEmbed);
|
||||
} catch {
|
||||
return; // eslint-disable-line no-useless-return
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "xiao",
|
||||
"version": "114.7.1",
|
||||
"version": "114.7.2",
|
||||
"description": "Your personal server companion.",
|
||||
"main": "Xiao.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -52,12 +52,15 @@ module.exports = class PhoneCall {
|
||||
return this;
|
||||
}
|
||||
|
||||
send(channel, msg) {
|
||||
if (msg.content.toLowerCase() === 'hang up') return this.hangup(channel);
|
||||
send(channel, msg, hasText, hasImage, hasEmbed) {
|
||||
if (msg.content && msg.content.toLowerCase() === 'hang up') return this.hangup(channel);
|
||||
this.setTimeout();
|
||||
const attachments = hasImage ? msg.attachments.map(a => a.url).join('\n') : null;
|
||||
if (!hasText && hasImage) return channel.send(`☎️ **${msg.author.tag}:**\n${attachments}`);
|
||||
if (!hasText && hasEmbed) return channel.send(`☎️ **${msg.author.tag}** sent an embed.`);
|
||||
let content = msg.content.replace(inviteRegex, '[redacted invite]');
|
||||
content = content.length > 1000 ? `${shorten(content, 1000)} (Message too long)` : content;
|
||||
return channel.send(`☎️ **${msg.author.tag}:** ${content}`);
|
||||
return channel.send(`☎️ **${msg.author.tag}:** ${content}\n${attachments || ''}`.trim());
|
||||
}
|
||||
|
||||
setTimeout() {
|
||||
|
||||
Reference in New Issue
Block a user