Skip to content

[RFC] Better Discord integration Fyndr

Abstract

This request for change is about researching a way so we can integrate Fyndr in Discord, this is to enhace the user experience based on a survey that we have done. Based on the user traffic and our sources, we can conclude that discord plays a key role in connecting the user with our knowledge base. So in order to make it a more pleasant experience for the user, we wanted a better integration between the two platforms.

Status

💬 Being discussed

Background

In order to understand why we wanted this RFC, it better to read the results of the survey and the summary we made based on the survey. The link for the summary is provide here. In the summary we have explained in detail what the user currently use to search study related information, and what troubles they might have in regarding to finding said information. Our conclusion was as follows:

Firstly, information related to their education is primarily shared with students through platforms such as Discord, Teams, and occasionally via email. Additionally, students mention that information is also shared orally, either among themselves or by the instructors. Secondly, overall experiences regarding the current methods of accessing school-related information are mostly positive, but there are some students who struggle to find the right information and find the sharing of information on Discord or Teams unclear. They also highlight the issue of information being dispersed across different platforms instead of having a centralized repository with all relevant information. Thirdly, suggested improvements or changes in searching for school-related information include the need for easily accessible and centralized information sources, particularly concerning school regulations and graduation resources. The HU agenda is also mentioned as problematic, with discrepancies between the Discord and Teams schedules causing confusion among many students. Lastly, when it comes to sharing school-related information with fellow students, Discord is the primary platform mentioned, followed by WhatsApp or email in some instances.

Problem

Currently Fyndr is not being used enough, so it's hard to get good feedback and user input to improve Fyndr. This is related to the problem that it's unclear what specific role Fyndr can fullfill in order to solve an existing problem. A general knowledge base is way to broad, so in order to get make Fyndr more attractive for our users. We would have to focus more on sharing specific knowledge that is hard to find on general knowledge bases. Moreover our second biggest source of traffic comes from Discord, and the most part of our users use Discord to find and share information. So it would be benficial for Fyndr to make sure we have a good/better Discord integration between the two platforms.

Solution

Our main solution for achieving a better integration between Fyndr and Discord, is to make a Discord bot wich should be able to search for Fyndr items base on the users input. This should be the main focus of our bot for Fyndr, but in the future we might be able to improve interaction between the bot and users by expanding the commands the bot is able to execute. This bot would allow the users to have interaction with Fyndr, without leaving Discord in order to find information regarding their issues. In turn, the user would be more compelled to search for items related to their issues with our bot.

Alternatives

Alternative 1

Alternatives to increase the traffic gained from Discord integrations, would be difficult to achieve (since we already use Discord webhooks to share new items related to specific subjects and channesl). We could possibly improve the integration by making the items created by the webhooks more detailed or user friendlier or something in this direction (we would need to do a survey with our users in order to find out what spefically could be improved).

This would not be ideal to do, and the results we would gain from improving the Discord webhook would not be as significant as the possible traffic we could generate by introducing a Fyndr Discord bot. Furthermore would this not be very usefull since we would have to conclude something is wrong with the Discord webhooks (wich I don't believe there is).

Further reading

We settled on using an existing Nest.js package that implemented discord beautifully. The documentation has a startup section and elaborate examples on how to implement more complex features, so after the setup we simply followed some of the examples that were applicable to our wishes. We simply first connect our script with the discord bot using a token, then on startup we register our commands to the discord bot which will make them visible to the discord users, and the bot uses an event based system that will trigger our functions when a specific command has been triggered. More on how to do this is in the documentation in the Source list section of this RFC.

Roadmap

  • Get familiar with the Nest.js discord package (LEARN)
  • Create a discord bot using the discord dev portal (LEARN)
  • Implement a basic ping command as proof of function
  • Connect the discord bot with the search engine
  • Format the response for optimal legibility
  • Implement error handling

Source list

https://www.npmjs.com/package/@discord-nestjs/core https://github.com/meew0/discord-bot-best-practices https://support.discord.com/hc/en-us/articles/360045093012-Server-Integrations-Page

Edited by Jan van Winsen