bug fixes in /wiki
This commit is contained in:
parent
4b8fa012da
commit
d60d2cd477
6 changed files with 68 additions and 17 deletions
|
|
@ -28,25 +28,46 @@ const data = new SlashCommandBuilder()
|
|||
.setRequired(false)
|
||||
);
|
||||
|
||||
async function fetchPageFromSite(siteId: string, pageName: string) {
|
||||
const { name: siteName, url: siteUrl } = pageSources[siteId];
|
||||
const mwClient = new MediaWikiClient(siteUrl);
|
||||
const pageData = await mwClient.getPage(pageName);
|
||||
return pageData;
|
||||
}
|
||||
|
||||
async function execute (interaction: ChatInputCommandInteraction) {
|
||||
await interaction.deferReply();
|
||||
|
||||
const siteChoice = interaction.options.getString('source') ?? 'auto';
|
||||
const { name: siteName, url: siteUrl } = pageSources[siteChoice];
|
||||
const mwClient = new MediaWikiClient(siteUrl);
|
||||
const pageData = await mwClient.getPage(interaction.options.getString('p'));
|
||||
|
||||
const pageEmbed = new EmbedBuilder()
|
||||
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);
|
||||
if (pageData) break;
|
||||
}
|
||||
} else {
|
||||
pageData = await fetchPageFromSite(siteChoice, pageName);
|
||||
}
|
||||
|
||||
if (pageData) {
|
||||
const pageEmbed = new EmbedBuilder()
|
||||
.setTitle(pageData.title)
|
||||
.setURL(pageData.url)
|
||||
.setDescription(pageData.content)
|
||||
.setFooter({
|
||||
text: `Informazioni da ${siteName}`
|
||||
text: `Informazioni da ${pageData.origin}`
|
||||
});
|
||||
|
||||
await interaction.followUp({
|
||||
embeds: [pageEmbed]
|
||||
});
|
||||
await interaction.followUp({
|
||||
embeds: [pageEmbed]
|
||||
});
|
||||
} else {
|
||||
await interaction.followUp({
|
||||
content: `Pagina **${pageName}** non trovata`
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default { data, execute };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue