fix /wiki command

This commit is contained in:
Yusur 2025-01-17 13:46:15 +01:00
parent d60d2cd477
commit 4765ebf22c
2 changed files with 43 additions and 6 deletions

View file

@ -1,5 +1,5 @@
import { ChatInputCommandInteraction, EmbedBuilder, SlashCommandBuilder } from "discord.js";
import { MediaWikiClient } from '../mediawiki';
import { MediaWikiClient, SectionObject } from '../mediawiki';
const pageSources = {
'cittadeldank': {
@ -30,7 +30,7 @@ const data = new SlashCommandBuilder()
async function fetchPageFromSite(siteId: string, pageName: string) {
const { name: siteName, url: siteUrl } = pageSources[siteId];
const mwClient = new MediaWikiClient(siteUrl);
const mwClient = new MediaWikiClient(siteUrl, siteName);
const pageData = await mwClient.getPage(pageName);
return pageData;
}
@ -41,6 +41,8 @@ async function execute (interaction: ChatInputCommandInteraction) {
let siteChoice = interaction.options.getString('source') ?? 'auto';
const pageName = interaction.options.getString('p');
let pageData = null;
if (siteChoice === 'auto') {
for (let site of pageSourcesAuto) {
pageData = await fetchPageFromSite(site, pageName);
@ -50,15 +52,20 @@ async function execute (interaction: ChatInputCommandInteraction) {
pageData = await fetchPageFromSite(siteChoice, pageName);
}
if (pageData) {
const pageEmbed = new EmbedBuilder()
.setTitle(pageData.title)
.setURL(pageData.url)
.setDescription(pageData.content)
.setDescription(pageData.summary)
.setFooter({
text: `Informazioni da ${pageData.origin}`
});
if (pageData.image) {
pageEmbed.setThumbnail(pageData.image);
}
await interaction.followUp({
embeds: [pageEmbed]
});