Smart discord chatbot integrated with Dialogflow to manage different classrooms and assist in teaching!

Overview

smart-school-chatbot

Intro

Smart discord chatbot integrated with Dialogflow to interact with students naturally and manage different classes in a school.

Description

As an effort to manage different classrooms, this smart chatbot is created so students can interact with it on Discord naturally and get things done without TAs or instructors' help.

This chatbot is named Bu, a real name of a dog living in CoderSchool.

Here are what Bu can do:

  • Bu can check your attendance by greeting it.
  • Bu can give important links (material links, zoom link, score dashboard,...)
  • Bu can cheers you up when you are sad :((
  • Bu can tell you jokes to make you smile :))
  • Bu can clear up its own messages.
  • Bu can show who is missing in the class or not yet check their attendance.
  • Bu can answer common questions about CoderSchool (opening hours, who is CEO, best instructor, TA,...)
  • Bu can do small talks to you :))
  • Bu can introduce a bit about itself.
  • Bu can choose what kind of food you should have for lunch or dinner if you are indecisive.
  • Bu can give points to you (Can only be done by TAs/Instructors).

Getting Started

Requirements & Dependencies

  • All the library requirements can be installed through requirements.txt.
pip install -r requirements.txt
  • Make sure you have your own discord details in .env file.
DISCORD_TOKEN={BOT DISCORD TOKEN}
DISCORD_GUILD={GUILD NAME}
COHORT_METADATA={METADATA SPREADSHEET ID}
BOT_NAME={BOT NAME}
STUDENT_SCORING={STUDENT SCORING SPREADSHEET ID}
  • Your Google Service Account credentials in the credentials.json and dialogflow_bot.json.

Workflow

Workflow

This chatbot is running 24/7 to answer questions from students so I choose to host it for free on replit.com and have uptimerobot.com to ping the server every 5 minute to prevent it from shutting down on replit.

Usage

Here are some real examples during the lectures of the chatbot in action where students just talk to it naturally like to a real TA, where its answers are unique and different everytime:

  • Ask what it can do

Help

  • Ask who it is

Who are you?

  • Ask who is the creator of it

Father

  • It can automatically check students' attendance to the system by just greeting to it and it will reply in a funny way

Check attendance 1

Check attendance 2

Check attendance 3

  • It can award students who are active in the class

Give score

As you can see, the bot will automatically log in students' performances like attendance, activities and more. Students can check out their scores and ranking anytime on the Google Data Studio dashboard.

dashboard

  • It can answer some common questions about the course or the company

opening hours

  • It can show relevant links of the course which students ask for

Links

  • It can cheer up students if they are are sad or struggled

Sad cheer up

  • It can tell different jokes

Joke 1

Joke 2

Joke 3

  • It can pick a meal for you if you are indecisive what to have for lunch or dinner (A lot of students request for this feature!)

Meal choice

Acknowledgments

Some useful documents are:

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Owner
Tom Huynh
A Machine Learning Scientist and Engineer!
Tom Huynh
SurvTRACE: Transformers for Survival Analysis with Competing Events

⭐ SurvTRACE: Transformers for Survival Analysis with Competing Events This repo provides the implementation of SurvTRACE for survival analysis. It is

Zifeng 13 Oct 06, 2022
Code for the Python code smells video on the ArjanCodes channel.

7 Python code smells This repository contains the code for the Python code smells video on the ArjanCodes channel (watch the video here). The example

55 Dec 29, 2022
A PyTorch Implementation of End-to-End Models for Speech-to-Text

speech Speech is an open-source package to build end-to-end models for automatic speech recognition. Sequence-to-sequence models with attention, Conne

Awni Hannun 647 Dec 25, 2022
Ongoing research training transformer language models at scale, including: BERT & GPT-2

What is this fork of Megatron-LM and Megatron-DeepSpeed This is a detached fork of https://github.com/microsoft/Megatron-DeepSpeed, which in itself is

BigScience Workshop 316 Jan 03, 2023
NLP topic mdel LDA - Gathered from New York Times website

NLP topic mdel LDA - Gathered from New York Times website

1 Oct 14, 2021
Stuff related to Ben Eater's 8bit breadboard computer

8bit breadboard computer simulator This is an assembler + simulator/emulator of Ben Eater's 8bit breadboard computer. For a version with its RAM upgra

Marijn van Vliet 29 Dec 29, 2022
Nateve compiler developed with python.

Adam Adam is a Nateve Programming Language compiler developed using Python. Nateve Nateve is a new general domain programming language open source ins

Nateve 7 Jan 15, 2022
An evaluation toolkit for voice conversion models.

Voice-conversion-evaluation An evaluation toolkit for voice conversion models. Sample test pair Generate the metadata for evaluating models. The direc

30 Aug 29, 2022
Transformer Based Korean Sentence Spacing Corrector

TKOrrector Transformer Based Korean Sentence Spacing Corrector License Summary This solution is made available under Apache 2 license. See the LICENSE

Paul Hyung Yuel Kim 3 Apr 18, 2022
A simple Flask site that allows users to create, update, and delete posts in a database, as well as perform basic NLP tasks on the posts.

A simple Flask site that allows users to create, update, and delete posts in a database, as well as perform basic NLP tasks on the posts.

Ian 1 Jan 15, 2022
Google's Meena transformer chatbot implementation

Here's my attempt at recreating Meena, a state of the art chatbot developed by Google Research and described in the paper Towards a Human-like Open-Domain Chatbot.

Francesco Pham 94 Dec 25, 2022
Research Code for NeurIPS 2020 Spotlight paper "Large-Scale Adversarial Training for Vision-and-Language Representation Learning": UNITER adversarial training part

VILLA: Vision-and-Language Adversarial Training This is the official repository of VILLA (NeurIPS 2020 Spotlight). This repository currently supports

Zhe Gan 109 Dec 31, 2022
Code for the paper "A Simple but Tough-to-Beat Baseline for Sentence Embeddings".

Code for the paper "A Simple but Tough-to-Beat Baseline for Sentence Embeddings".

1.1k Dec 27, 2022
一个基于Nonebot2和go-cqhttp的娱乐性qq机器人

Takker - 一个普通的QQ机器人 此项目为基于 Nonebot2 和 go-cqhttp 开发,以 Sqlite 作为数据库的QQ群娱乐机器人 关于 纯兴趣开发,部分功能借鉴了大佬们的代码,作为Q群的娱乐+功能性Bot 声明 此项目仅用于学习交流,请勿用于非法用途 这是开发者的第一个Pytho

风屿 79 Dec 29, 2022
A python script to prefab your scripts/text files, and re create them with ease and not have to open your browser to copy code or write code yourself

Scriptfab - What is it? A python script to prefab your scripts/text files, and re create them with ease and not have to open your browser to copy code

DevNugget 3 Jul 28, 2021
BiNE: Bipartite Network Embedding

BiNE: Bipartite Network Embedding This repository contains the demo code of the paper: BiNE: Bipartite Network Embedding. Ming Gao, Leihui Chen, Xiang

leihuichen 214 Nov 24, 2022
Text classification on IMDB dataset using Keras and Bi-LSTM network

Text classification on IMDB dataset using Keras and Bi-LSTM Text classification on IMDB dataset using Keras and Bi-LSTM network. Usage python3 main.py

Hamza Rashid 2 Sep 27, 2022
使用Mask LM预训练任务来预训练Bert模型。训练垂直领域语料的模型表征,提升下游任务的表现。

Pretrain_Bert_with_MaskLM Info 使用Mask LM预训练任务来预训练Bert模型。 基于pytorch框架,训练关于垂直领域语料的预训练语言模型,目的是提升下游任务的表现。 Pretraining Task Mask Language Model,简称Mask LM,即

Desmond Ng 24 Dec 10, 2022
Fine-tune GPT-3 with a Google Chat conversation history

Google Chat GPT-3 This repo will help you fine-tune GPT-3 with a Google Chat conversation history. The trained model will be able to converse as one o

Nate Baer 7 Dec 10, 2022
Generate product descriptions, blogs, ads and more using GPT architecture with a single request to TextCortex API a.k.a Hemingwai

TextCortex - HemingwAI Generate product descriptions, blogs, ads and more using GPT architecture with a single request to TextCortex API a.k.a Hemingw

TextCortex AI 27 Nov 28, 2022