Chatbot for the Chatango messaging platform

Overview

BroiestBot

Python Ch.py Requests SQLAlchemy GitHub Last Commit GitHub Issues GitHub Stars GitHub Forks

The baddest bot in the game right now. Uses the ch.py framework for joining Chantango rooms and responding to user messages.

Commands

If a user's chat is a command (starts with !), a function will be fired depending on the type of command. A directory of all commands can be found here.

Chat commands have 3 properties:

  • Command name: Text which triggers a command (ie: !test)
  • Response: Value returned by a command, either to be sent directly as a chat, or additionally processed depending on command type.
  • Type: Determines logic associated with a command.

Getting Started

Installation

Get up and running with make deploy:

$ git clone https://github.com/toddbirchard/broiestbot.git
$ cd broiestbot
$ make install
$ make run

Configuration

Create a .env file with your Chatango configuration. These variables are required:

CHATANGO_ROOMS=yourchatangoroom
CHATANGO_USERNAME=yourbotusername
CHATANGO_PASSWORD=yourbotpassword

DATABASE_URI=yourdatabaseuri
DATABASE_NAME=yourdatabasename
DATABASE_TABLE=yourdatabbasetable

These variables are optional to enable different services, such as pulling images from Google Cloud or fetching Stock prices:

# Fetching images from Google Storage
GOOGLE_broiestbot_CREDENTIALS=/path/to/credentials.json
GOOGLE_BUCKET_NAME=nameOfStorageBucket

# Fetching .gifs from Giphy
GIPHY_API_KEY=yourGiphyAPIKey

# Stock market & crypto price data
IEX_API_TOKEN=yourIEXStockAPIToken
ALPHA_VANTAGE_API_KEY=yourAlphaVantageKey

# Chart generation
PLOTLY_API_KEY=yourPlotlyApiKey
PLOTLY_USERNAME=yourPlotlyUsername

# Weather by location
WEATHERSTACK_API_KEY=yourWeatherstackApiKey

# Text notifications
TWILIO_SENDER_PHONE=123456789
TWILIO_RECIPIENT_PHONE=123456789
TWILIO_AUTH_TOKEN=yourTwilioToken
TWILIO_ACCOUNT_SID=yourTwilioAccountSid

# All APIs hosted on RapidAPI
RAPID_API_KEY=yourRapidApiKey

# Song Lyrics
GENIUS_KEY_ID=yourLyricsGeniusKey
GENIUS_ACCESS_TOKEN=yourLyricsGeniusToken

# Twitch API
TWITCH_CLIENT_ID=yourTwitchClientId
TWITCH_CLIENT_SECRET=yourTwitchClientSecret
Owner
Todd Birchard
Software engineer, city kid, life enthusiast. Dabble in throwing my hands up in the air like I just don't care. Strict diet of gluten and dairy.
Todd Birchard
[ICCV 2021] Instance-level Image Retrieval using Reranking Transformers

Instance-level Image Retrieval using Reranking Transformers Fuwen Tan, Jiangbo Yuan, Vicente Ordonez, ICCV 2021. Abstract Instance-level image retriev

UVA Computer Vision 86 Dec 28, 2022
State-of-the-art NLP through transformer models in a modular design and consistent APIs.

Trapper (Transformers wRAPPER) Trapper is an NLP library that aims to make it easier to train transformer based models on downstream tasks. It wraps h

Open Business Software Solutions 42 Sep 21, 2022
fastai ulmfit - Pretraining the Language Model, Fine-Tuning and training a Classifier

fast.ai ULMFiT with SentencePiece from pretraining to deployment Motivation: Why even bother with a non-BERT / Transformer language model? Short answe

Florian Leuerer 26 May 27, 2022
Application for shadowing Chinese.

chinese-shadowing Simple APP for shadowing chinese. With this application, it is very easy to record yourself, play the sound recorded and listen to s

Thomas Hirtz 5 Sep 06, 2022
A look-ahead multi-entity Transformer for modeling coordinated agents.

baller2vec++ This is the repository for the paper: Michael A. Alcorn and Anh Nguyen. baller2vec++: A Look-Ahead Multi-Entity Transformer For Modeling

Michael A. Alcorn 30 Dec 16, 2022
Edge-Augmented Graph Transformer

Edge-augmented Graph Transformer Introduction This is the official implementation of the Edge-augmented Graph Transformer (EGT) as described in https:

Md Shamim Hussain 21 Dec 14, 2022
C.J. Hutto 3.8k Dec 30, 2022
CrossNER: Evaluating Cross-Domain Named Entity Recognition (AAAI-2021)

CrossNER is a fully-labeled collected of named entity recognition (NER) data spanning over five diverse domains (Politics, Natural Science, Music, Literature, and Artificial Intelligence) with specia

Zihan Liu 89 Nov 10, 2022
Large-scale pretraining for dialogue

A State-of-the-Art Large-scale Pretrained Response Generation Model (DialoGPT) This repository contains the source code and trained model for a large-

Microsoft 1.8k Jan 07, 2023
justCTF [*] 2020 challenges sources

justCTF [*] 2020 This repo contains sources for justCTF [*] 2020 challenges hosted by justCatTheFish. TLDR: Run a challenge with ./run.sh (requires Do

justCatTheFish 25 Dec 27, 2022
Easy, fast, effective, and automatic g-code compression!

Getting to the meat of g-code. Easy, fast, effective, and automatic g-code compression! MeatPack nearly doubles the effective data rate of a standard

Scott Mudge 97 Nov 21, 2022
Linking data between GBIF, Biodiverse, and Open Tree of Life

GBIF-biodiverse-OpenTree Linking data between GBIF, Biodiverse, and Open Tree of Life The python scripts will rely on opentree and Dendropy. To set up

2 Oct 03, 2022
NLP Text Classification

多标签文本分类任务 近年来随着深度学习的发展,模型参数的数量飞速增长。为了训练这些参数,需要更大的数据集来避免过拟合。然而,对于大部分NLP任务来说,构建大规模的标注数据集非常困难(成本过高),特别是对于句法和语义相关的任务。相比之下,大规模的未标注语料库的构建则相对容易。为了利用这些数据,我们可以

Jason 1 Nov 11, 2021
LV-BERT: Exploiting Layer Variety for BERT (Findings of ACL 2021)

LV-BERT Introduction In this repo, we introduce LV-BERT by exploiting layer variety for BERT. For detailed description and experimental results, pleas

Weihao Yu 14 Aug 24, 2022
Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.

TextDistance TextDistance -- python library for comparing distance between two or more sequences by many algorithms. Features: 30+ algorithms Pure pyt

Life4 3k Jan 06, 2023
This repository describes our reproducible framework for assessing self-supervised representation learning from speech

LeBenchmark: a reproducible framework for assessing SSL from speech Self-Supervised Learning (SSL) using huge unlabeled data has been successfully exp

49 Aug 24, 2022
基于pytorch_rnn的古诗词生成

pytorch_peot_rnn 基于pytorch_rnn的古诗词生成 说明 config.py里面含有训练、测试、预测的参数,更改后运行: python main.py 预测结果 if config.do_predict: result = trainer.generate('丽日照残春')

西西嘛呦 3 May 26, 2022
PyTorch implementation of Tacotron speech synthesis model.

tacotron_pytorch PyTorch implementation of Tacotron speech synthesis model. Inspired from keithito/tacotron. Currently not as much good speech quality

Ryuichi Yamamoto 279 Dec 09, 2022
Ukrainian TTS (text-to-speech) using Coqui TTS

title emoji colorFrom colorTo sdk app_file pinned Ukrainian TTS 🐸 green green gradio app.py false Ukrainian TTS 📢 🤖 Ukrainian TTS (text-to-speech)

Yurii Paniv 85 Dec 26, 2022