Skip to content

Commit

Permalink
fix(commons): use bot data for announce (#4210)
Browse files Browse the repository at this point in the history
Fixes #4209
  • Loading branch information
sogehige committed Oct 15, 2020
1 parent 16d983c commit 34b8653
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/bot/commons.ts
Expand Up @@ -70,7 +70,7 @@ export async function parserReply(response: string | Promise<string>, opts: { se
*/
export const announceTypes = ['bets', 'duel', 'heist', 'timers', 'songs', 'scrim', 'raffles', 'polls', 'general'] as const;
export async function announce(messageToAnnounce: string, type: typeof announceTypes[number]) {
messageToAnnounce = await new Message(messageToAnnounce).parse({}) as string;
messageToAnnounce = await new Message(messageToAnnounce).parse({ sender: getBotSender() }) as string;
sendMessage(messageToAnnounce, {
username: oauth.botUsername,
displayName: oauth.botUsername,
Expand Down
1 change: 0 additions & 1 deletion src/bot/systems/timers.ts
Expand Up @@ -37,7 +37,6 @@ class Timers extends System {

this.addMenu({ category: 'manage', name: 'timers', id: 'manage/timers/list', this: this });
if (isMainThread) {

this.init();
}
}
Expand Down
@@ -0,0 +1,64 @@
/* global describe it beforeEach */


const assert = require('assert');
require('../../general.js');

const db = require('../../general.js').db;
const message = require('../../general.js').message;

const timers = (require('../../../dest/systems/timers')).default;
const customcommands = (require('../../../dest/systems/customcommands')).default;
const api = (require('../../../dest/api')).default;

const { getRepository } = require('typeorm');
const { Timer, TimerResponse } = require('../../../dest/database/entity/timer');

const { linesParsed } = require('../../../dest/helpers/parser');

// users
const owner = { username: 'soge__' };

describe('Timers - https://github.com/sogehige/sogeBot/issues/4209 - custom command filter is not properly triggered', () => {
before(async () => {
await db.cleanup();
await message.prepare();
});
after(async () => {
api.isStreamOnline = false;
});

it('Create timer', async () => {
await getRepository(Timer).save({
name: 'test',
triggerEveryMessage: 0,
triggerEverySecond: 0,
isEnabled: true,
triggeredAtTimestamp: Date.now(),
triggeredAtMessage: linesParsed,
});
});

it('Add custom command !telemetry', async () => {
const r = await customcommands.add({ sender: owner, parameters: '-c !telemetry -r Lorem Ipsum Dolor Sit Amet' });
assert.strictEqual(r[0].response, '$sender, command !telemetry was added');
});

it('Add (!telemetry) response to timer', async () => {
const r = await timers.add({ sender: owner, parameters: '-name test -response "(!telemetry)"' });

const item = await getRepository(TimerResponse).findOne({ response: '(!telemetry)' });
assert(typeof item !== 'undefined');

assert.strictEqual(r[0].response, `$sender, response (id: ${item.id}) for timer (name: test) was added - '(!telemetry)'`);
});

it('Set manually stream to be online and manually trigger timers check', () => {
api.isStreamOnline = true;
timers.check();
});

it('We should have correct response in chat in a while', async () => {
await message.isSentRaw('Lorem Ipsum Dolor Sit Amet', 'bot', 5000);
});
});

0 comments on commit 34b8653

Please sign in to comment.