Skip to content
Sylvie - The Bot

Sylvie - The Bot

Hack smarter, not harder with our FAQ Bot Sylvie - your personal hackathon guru!

Created on 29th January 2023

Sylvie - The Bot

Sylvie - The Bot

Hack smarter, not harder with our FAQ Bot Sylvie - your personal hackathon guru!

The problem Sylvie - The Bot solves

Our witty bot “Sylvie” is designed to solve all the hackathon related queries and issues that a participant faces.

It offers the users various functionalities like:

  1. Seeking the hackathon details (details, schedule, prize, rules)
  2. Handles the registration process (register,confirm and even cancel)
  3. Provides resources to the user.
  4. Sets a reminder for the user based on the custom date and time entered.
  5. Chat feature which provides solutions to all the FAQ’s.

Some feature which acts as an icing on the cake are:

  1. Cancel registration
  2. Take feedback from the user if he/she cancels the registration.
  3. Gives all the latest updates and announcements that the admin sends.
  4. Engaging messages that use emojis.
  5. Is able to understand any language that the user enters.

Along with all these functionalitites, it acts as a fun & motivating friend who is always there throughout the interaction.

Challenges we ran into

Making this bot was a great learning opportunity, we worked with new libraries, services, platforms and editors. During the process we ran into several challenges, some of the major ones being:

  1. Message Handler
    There is an inbuilt function in python-telegram-bot which picks up all user texts that are not commands. Now for different functions the input needed to be handled differently and passed onto different functions but there was no way to change the function signature or return type of this inbuilt function so it couldn't differnetiate what command was run last.

We looked for alternative libraries, ways to change function signature, mainingting storage variable but in the end we found the most effecient way of tackling this problem which was to maintain a gobal variable "command" which will store the last execute command.

  1. Deployment
    We faced major errors, system incompatibilities and services during deployment. We spent a major chunk of time on this. Finally we were able to deploy our bot using replit.

  2. Reminders
    The reminder section wasn't working initially because we could not find a way to send a message after a given time interval. Also we had to calculate time interval from two times into seconds. Finally we figured out how to do this using the job_queue functionality.

  3. Team-mate's Laptop Crashed
    One of our team mates who was working on the complete NLP part encountered a major laptop issue and her system crashed. We had already put a lot of time on the code. Thankfully we were commiting the code as we went along and were able to recover most of the progress through the last commit and rewrite the rest of the code.

Tracks Applied (1)

Replit

We have deployed our bot using Replit as it is a great platform for quickly starting, sharing, and developing projects.
Replit

Replit

Technologies used

Discussion

Builders also viewed

See more projects on Devfolio