All Projects β†’ snollygolly β†’ borrow-bot

snollygolly / borrow-bot

Licence: other
πŸ’° A bot for maximizing the borrow subreddit

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to borrow-bot

django-concurrency-talk
🎭 Database Integrity in Django: Safely Handling Critical Data in Distributed Systems
Stars: ✭ 49 (+88.46%)
Mutual labels:  money
subreddit-archiver
Python utility to archive and keep up-to-date archives of reddit subreddits. Archives to SQLite databases.
Stars: ✭ 21 (-19.23%)
Mutual labels:  reddit
AngularPos
A real-time, simple web Point of Sale system written with Angular 12, Firebase (Cloud Firestore), Bootstrap 4 and PrimeNg
Stars: ✭ 67 (+157.69%)
Mutual labels:  money
OddshotConverter
Gets oddshot.tv clips posted on Reddit and converts it into YouTube videos.
Stars: ✭ 48 (+84.62%)
Mutual labels:  reddit
reddit2telegram
Bot to supply telegram channel with hot Reddit submissions.
Stars: ✭ 202 (+676.92%)
Mutual labels:  reddit
roux
Simple and (a)synchronous Reddit API wrapper for Rust.
Stars: ✭ 41 (+57.69%)
Mutual labels:  reddit
scripts
A collection of random scripts I coded up
Stars: ✭ 17 (-34.62%)
Mutual labels:  reddit
worthit
πŸ’Έ Vale a pena? Calcule o preΓ§o anual de um item com essa PWA
Stars: ✭ 18 (-30.77%)
Mutual labels:  money
analyzing-reddit-sentiment-with-aws
Learn how to use Kinesis Firehose, AWS Glue, S3, and Amazon Athena by streaming and analyzing reddit comments in realtime. 100-200 level tutorial.
Stars: ✭ 40 (+53.85%)
Mutual labels:  reddit
docs
The documentation for Firefly III
Stars: ✭ 30 (+15.38%)
Mutual labels:  money
binaryapi
Binary.com & Deriv.com API for Python
Stars: ✭ 32 (+23.08%)
Mutual labels:  money
orca
C Multi-REST API library for Discord, Slack, Reddit, etc.
Stars: ✭ 360 (+1284.62%)
Mutual labels:  reddit
hurtrade
An Open Source Forex Trading Platform
Stars: ✭ 22 (-15.38%)
Mutual labels:  money
context-mod
an event-based, reddit moderation bot built on top of snoowrap and written in typescript
Stars: ✭ 38 (+46.15%)
Mutual labels:  reddit
insta reddit bot
[UNMAINTAINED] A bot which pulls images from Reddit and uploads them to Instagram. Former source code of @me_irl_bot
Stars: ✭ 26 (+0%)
Mutual labels:  reddit
ducky
Chrome extension to overlay a (super adorable) rubber duck, as a virtual companion during rubber duck debugging.
Stars: ✭ 80 (+207.69%)
Mutual labels:  reddit
data-prepper
Data Prepper is a component of the OpenSearch project that accepts, filters, transforms, enriches, and routes data at scale.
Stars: ✭ 102 (+292.31%)
Mutual labels:  ingestion
today-AI-learned
Training a classifier to reddit's TIL to find new things on Wikipedia
Stars: ✭ 35 (+34.62%)
Mutual labels:  reddit
iqoptionapi
IQ Option API
Stars: ✭ 355 (+1265.38%)
Mutual labels:  money
laracash
PHP Laravel Money Package πŸ’°
Stars: ✭ 52 (+100%)
Mutual labels:  money

πŸ’° borrow-bot

A data collection bot and website aimed at helping lenders make good choices at /r/borrow.

Prerequisites

  • Node.js (Version 5 and up recommended)
  • MySQL server

Installation

  • Clone down the repository
git clone https://github.com/snollygolly/borrow-bot.git
  • Install packages (from inside the borrow-bot folder)
npm install
  • Create your config. There's a config.json.example file in the root. Edit it to include all your values for the database, Reddit, Twilio, and the website. Save it as config.json and leave it in the root.

  • Connect to your MySQL server and create a database called borrow-bot with the following options

Database Encoding: utf8
Database Collation: utf8_general_ci
  • Create the table schema
npm run migrate

Components

There are two main components to BorrowBot. One is the ingestion bot, and the other is the website.

Ingestion

The ingestion bot is best run on a cronjob. Reddit has fairly lax throttling limits, so once a minute is a good interval to run it. There currently isn't any way to update or create historical records, so BorrowBot will only ever pick up the most recent 25-30.

Starting

  • To start the ingestion bot, run the following:
npm run bot-start

Testing

The bot also comes with a collection of test posts (posts.json). These are posts that real users have created, but that the bot initially got wrong when parsing. We take these posts, manually enter the correct values, and then test the bot's logic against this.

  • To move over a single post from the posts table to the test posts file (posts.json)
npm run bot-import ID

Note: When running bot-import, be sure to manually go into the post's record in MySQL and update the borrow, repay, interest, currency, and repay date's values to the correct ones.

  • To run all the tests with summarized output AND save the results back (results.json)
npm run bot-test-summary

Note: If you've made changes to the test posts file (posts.json) or the BorrowBot logic, please make sure you run bot-test-summary before you commit, so you know how effective your changes were.

  • To run all the tests with full output
npm run bot-test

Site

The website portion is used to take the data the ingestion bot collects and display it in an easy to use interface.

Starting

  • To start the website, run the following:
npm start
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].