aboutsummaryrefslogtreecommitdiff
path: root/src/server/ApiManagers/AssistantManager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ApiManagers/AssistantManager.ts')
-rw-r--r--src/server/ApiManagers/AssistantManager.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/ApiManagers/AssistantManager.ts b/src/server/ApiManagers/AssistantManager.ts
index 8a5f12c2b..d5a8ebeb3 100644
--- a/src/server/ApiManagers/AssistantManager.ts
+++ b/src/server/ApiManagers/AssistantManager.ts
@@ -150,6 +150,33 @@ export default class AssistantManager extends ApiManager {
register({
method: Method.POST,
+ subscription: '/getWikipediaSummary',
+ secureHandler: async ({ req, res }) => {
+ const { title } = req.body;
+ try {
+ const response = await axios.get('https://en.wikipedia.org/w/api.php', {
+ params: {
+ action: 'query',
+ list: 'search',
+ srsearch: title,
+ format: 'json',
+ },
+ });
+ const summary = response.data.query.search[0].snippet;
+ if (!summary || summary.length === 0 || summary === '' || summary === ' ') {
+ res.send({ text: 'No article found with that title.' });
+ } else {
+ res.send({ text: summary });
+ }
+ } catch (error: any) {
+ console.error('Error retrieving article summary from Wikipedia:', error);
+ res.status(500).send({ error: 'Error retrieving article summary from Wikipedia.', details: error.message });
+ }
+ },
+ });
+
+ register({
+ method: Method.POST,
subscription: '/createDocument',
secureHandler: async ({ req, res }) => {
const { file_path } = req.body;