0.3.2 fixed wiki loading non-existent pages, added Wikicord and Italian Mapping Wiki as sources
This commit is contained in:
parent
934af0a1e8
commit
3f13fe1ec0
4 changed files with 33 additions and 6 deletions
|
|
@ -1,5 +1,10 @@
|
|||
# Changelog
|
||||
|
||||
## 0.3.2 (February 20, 2026)
|
||||
|
||||
* Fixed `/wiki` loading non-existent pages.
|
||||
* Added [Wikicord](https://wikicord.wikioasis.org/) and [Italian Mapping Wiki](https://it.mappingwiki.org/) as sources for `/wiki`.
|
||||
|
||||
## 0.3.1 (February 20, 2026)
|
||||
|
||||
* Updated package-lock.json
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "sknsybot",
|
||||
"version": "0.3.0",
|
||||
"version": "0.3.2",
|
||||
"private": true,
|
||||
"description": "",
|
||||
"license": "Apache-2.0",
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ limitations under the License.
|
|||
|
||||
import "./initConfig";
|
||||
|
||||
import { GatewayIntentBits, Events, Interaction, ChatInputCommandInteraction, Guild } from 'discord.js';
|
||||
import { GatewayIntentBits, Events, Interaction, ChatInputCommandInteraction, Guild, MessageFlags } from 'discord.js';
|
||||
import { MyClient } from './client';
|
||||
import commandList from './commandList';
|
||||
|
||||
|
|
@ -43,6 +43,10 @@ client.on(Events.InteractionCreate, async (interaction: Interaction) => {
|
|||
} catch (ex) {
|
||||
console.error(`${chalk.red('Error in command')} ${chalk.bold(`/${commandName}`)}`);
|
||||
console.error(ex);
|
||||
await interaction.followUp({
|
||||
content: `Errore nel comando /${commandName}. Contattare l'amministratore del bot.`,
|
||||
ephemeral: true
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -5,11 +5,21 @@ const pageSources = {
|
|||
'cittadeldank': {
|
||||
url: 'https://wiki.cittadeldank.it',
|
||||
name: 'Città del Dank'
|
||||
},
|
||||
'wikicord': {
|
||||
url: 'https://wikicord.wikioasis.org/api.php',
|
||||
name: 'Wikicord'
|
||||
},
|
||||
'mappingwikiit': {
|
||||
url: 'https://it.mappingwiki.org',
|
||||
name: 'Mapping Wiki IT'
|
||||
}
|
||||
}
|
||||
|
||||
const pageSourcesAuto = [
|
||||
'cittadeldank'
|
||||
'cittadeldank',
|
||||
'wikicord',
|
||||
'mappingwikiit'
|
||||
];
|
||||
|
||||
const data = new SlashCommandBuilder()
|
||||
|
|
@ -23,6 +33,8 @@ const data = new SlashCommandBuilder()
|
|||
.setDescription('Dove guardare')
|
||||
.addChoices([
|
||||
{name: 'Città del Dank', value: 'cittadeldank'},
|
||||
{name: 'Wikicord', value: 'wikicord'},
|
||||
{name: 'Mapping Wiki IT', value: 'mappingwikiit'},
|
||||
{name: 'Automatico', value: 'auto'}
|
||||
])
|
||||
.setRequired(false)
|
||||
|
|
@ -45,7 +57,13 @@ async function execute (interaction: ChatInputCommandInteraction) {
|
|||
|
||||
if (siteChoice === 'auto') {
|
||||
for (let site of pageSourcesAuto) {
|
||||
pageData = await fetchPageFromSite(site, pageName);
|
||||
try {
|
||||
pageData = await fetchPageFromSite(site, pageName);
|
||||
} catch (error) {
|
||||
console.warn(`Skipping source ${site}: ${error}`);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (pageData) break;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -57,7 +75,7 @@ async function execute (interaction: ChatInputCommandInteraction) {
|
|||
const pageEmbed = new EmbedBuilder()
|
||||
.setTitle(pageData.title)
|
||||
.setURL(pageData.url)
|
||||
.setDescription(pageData.summary)
|
||||
.setDescription(pageData.summary || '...')
|
||||
.setFooter({
|
||||
text: `Informazioni da ${pageData.origin}`
|
||||
});
|
||||
|
|
@ -71,7 +89,7 @@ async function execute (interaction: ChatInputCommandInteraction) {
|
|||
});
|
||||
} else {
|
||||
await interaction.followUp({
|
||||
content: `Pagina **${pageName}** non trovata`
|
||||
content: `Pagina **${pageName}** non trovata!`
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue