Skip to content

Commit d2f45d6

Browse files
author
Adam Siekierski
authored
Skierowanie improvements (#59)
* Skierowanie improvments - better links, bug fixes * Apply suggestions from code review
1 parent e86c9d1 commit d2f45d6

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

src/commands/skierowanie.spec.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,13 @@ import * as Discord from 'discord.js';
1010
describe('skierowanie', () => {
1111
const mockAuthor = { username: 'user', avatarURL: 'url' };
1212

13-
it('it should send a message', async () => {
13+
const mockLinksEmbed = (links: string[]) =>
14+
new Discord.RichEmbed().addField(
15+
'Z powyższym skierowaniem należy udać się na poniższe strony internetowe:',
16+
links.join('\n')
17+
);
18+
19+
it('it should send two messages', async () => {
1420
const msg = getMessageMock('msg', { author: mockAuthor });
1521

1622
await skierowanie.execute((msg as unknown) as Discord.Message, ['user']);
@@ -24,13 +30,12 @@ describe('skierowanie', () => {
2430
await skierowanie.execute((msg as unknown) as Discord.Message, ['user', 'react']);
2531

2632
const linksMessageMock = [
27-
'Z powyższym skierowaniem należy udać się na poniższe strony internetowe:',
2833
'https://reactjs.org/docs',
2934
'https://developer.mozilla.org/en-US/docs/Learn',
3035
'https://typeofweb.com',
3136
'https://frontlive.pl',
3237
];
3338

34-
await expect(msg.channel.send).to.have.been.calledWithExactly(linksMessageMock);
39+
await expect(msg.channel.send).to.have.been.calledWithExactly(mockLinksEmbed(linksMessageMock));
3540
});
3641
});

src/commands/skierowanie.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,25 @@ const skierowanie: Command = {
1717
args: true,
1818
cooldown: 10,
1919
async execute(msg, args) {
20+
// Filter out the empty args (whitespaces, etc)
21+
args = args.filter((val) => val);
22+
2023
const skierowanieEmbed = new Discord.RichEmbed()
2124
.setColor('#5ab783')
2225
.setAuthor(
2326
`Type of Web oraz ${msg.author.username}`,
2427
msg.author.avatarURL,
2528
'https://typeofweb.com'
2629
)
27-
.setTitle('Skierowanie na naukę podstaw')
30+
.setTitle('Skierowanie na naukę podstaw 🚑')
2831
.setThumbnail('https://typeofweb.com/wp-content/uploads/2020/04/logo_kwadrat11.png')
2932
.addField(
3033
'Działając na podstawie mojej intuicji oraz wiadomości wysłanych przez osobę skierowaną, kieruję użytkownika/użytkowniczkę',
3134
args[0]
3235
)
3336
.addField(
34-
`na naukę podstaw wybranej przez siebie technologii, w celu lepszego zrozumienia fundamentów jej działania oraz poznania informacji niezbędnych do rozszerzania swojej wiedzy o bardziej zaawansowane zagadnienia`,
35-
`Obecnie posiadana wiedza przez wyżej wymienioną osobę jest zbyt wąska, by mogła ona dalej kontynuować swoją naukę w trudniejszych zagadnieniach w sposób efektywny i zrozumiały`
37+
`na naukę podstaw wybranej przez siebie technologii,`,
38+
`w celu lepszego zrozumienia fundamentów jej działania oraz poznania informacji niezbędnych do rozszerzania swojej wiedzy o bardziej zaawansowane zagadnienia`
3639
)
3740
.setTimestamp()
3841
.setFooter(
@@ -43,12 +46,17 @@ const skierowanie: Command = {
4346
const categoryFilter = args[1]?.toLowerCase();
4447
const linksFiltered = categoryFilter
4548
? links.filter(({ category }) => !category || category === categoryFilter)
46-
: links;
49+
: links.filter(({ category }) => !category);
4750

4851
const linksMessage = 'Z powyższym skierowaniem należy udać się na poniższe strony internetowe:';
4952

53+
const linksEmbed = new Discord.RichEmbed().addField(
54+
linksMessage,
55+
linksFiltered.map((l) => l.url).join('\n')
56+
);
57+
5058
await msg.channel.send(skierowanieEmbed);
51-
return msg.channel.send([linksMessage, ...linksFiltered.map((link) => link.url)]);
59+
return msg.channel.send(linksEmbed);
5260
},
5361
};
5462

0 commit comments

Comments
 (0)