Skip to content

Commit

Permalink
Use stream-buffers instead of diskette to create an attachment file
Browse files Browse the repository at this point in the history
  • Loading branch information
HunteRoi committed Apr 8, 2021
1 parent 4d0f105 commit 887d0a4
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 24 deletions.
33 changes: 15 additions & 18 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@hunteroi/discord-mailbox",
"version": "1.2.0",
"version": "1.2.1",
"description": "A framework to integrate a mailbox inside your Discord bot built with DiscordJS",
"main": "lib/index.js",
"scripts": {
Expand All @@ -27,9 +27,10 @@
},
"homepage": "https://github.com/hunteroi/discord-mailbox#readme",
"dependencies": {
"@types/stream-buffers": "^3.0.3",
"cron": "^1.8.2",
"discord.js": "^12.5.1",
"diskette": "^1.2.2",
"stream-buffers": "^3.0.2",
"uuid": "^8.3.2"
},
"devDependencies": {
Expand Down
16 changes: 12 additions & 4 deletions src/handlers/ticketLog.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
import { TextChannel } from 'discord.js';
import { MailboxManager } from '..';
import { Ticket } from '../types';
import * as diskette from 'diskette';
import { WritableStreamBuffer } from 'stream-buffers';

export const handleLog = async (manager: MailboxManager, ticket: Ticket) => {
if (!manager.options.loggingOptions) return;

const file = new diskette.File(ticket.logs.join('\n'));
const stream = new WritableStreamBuffer({
initialSize: 100 * 1024, // start at 100 kilobytes.
incrementAmount: 10 * 1024, // grow by 10 kilobytes each time buffer overflows.
});
for (let log of ticket.logs) {
stream.write(`${log}\n`);
}
const buffer = stream.getContents();

const logMessage = {
content: manager.options.loggingOptions.generateMessage(ticket),
files: [
{
attachment: file.buffer(),
name: manager.options.loggingOptions.generateFilename(ticket)
attachment: buffer as Buffer,
name: manager.options.loggingOptions.generateFilename(ticket),
},
],
};
Expand Down

0 comments on commit 887d0a4

Please sign in to comment.