profile
viewpoint
Matt Foxx FoxxMD Fulfillment.com Atlanta http://matthewfoxx.com Full-stack dev and photographer

FoxxMD/context-mod 10

an event-based, reddit moderation bot built on top of snoowrap and written in typescript

atk4/laravel-ad 4

Extension for Laravel to natively integrate with Agile Data (http://git.io/ad)

FoxxMD/espanso-all-emojis 4

All emojis from gemoji, with non-conflicting alt names, as an espanso package

FoxxMD/AngularJS-Learning 3

A bunch of links to blog posts, articles, videos, etc for learning AngularJS

FoxxMD/emojify 3

Converts Discord emoji shortcodes back to universal emojis (unicode)

FoxxMD/awesome-data-mining 2

Data sets, mining and scraping tools, and resources for gathering that sweet sweet information

FoxxMD/annals-of-awesome 1

Awesome projects and best practices I want to use in my work

FoxxMD/EasyClockKiller 1

A simple script for automating clocking in and out of easyclock.net

FoxxMD/agora 0

An API-driven gaming event platform

FoxxMD/AlertifyJS 0

A javascript framework for developing pretty browser dialogs and notifications.

startedsolidjs/solid

started time in 3 hours

issue openedFoxxMD/context-mod

Improve detection of when reddit api service is down and take better action

Recent reddit api issues have caused abnormal or unexpected behavior with CM. Need to make a concerted effort to detect "bad api state" better and fallback to stopped bot state faster and more gracefully.

  • [ ] Turn off or modify continueAfterRatelimitError behavior in snoowrap
    • Need to catch rate limit error at bot level and put bot in stop state while waiting for limit to reset
  • [ ] Review retry handler for polling to ensure it isn't unexpectedly looping or not exhausting retry attempts somehow
  • [ ] Better handling of api errors during cold start
    • Bots/server should still be able to be initiated and started up even if initial api testing fails. We should be able to handle re-creating api client with ui action on bot restart

created time in 7 hours

issue closedFoxxMD/context-mod

If app crashes multiple times it can cause a 403

After starting up my server the app loaded but redis did not. This caused multiple crashes over an hour or so.

After starting redis and then the app I'm now greeted with the following.

0|index  | 2021-11-29T22:49:36+10:30 info   : [Web] Web UI started: http://localhost:8085
0|index  | 2021-11-29T22:49:36+10:30 info   : [App] API started => localhost:8095
0|index  | 2021-11-29T22:49:36+10:30 info   : [App] Beginning bot init on startup...
0|index  | 2021-11-29T22:49:36+10:30 info   : [App] Operators: None Specified
0|index  | 2021-11-29T22:49:36+10:30 error  : [App] An error occurred while trying to initialize the Reddit API Client which would prevent the entire application from running.
0|index  | 2021-11-29T22:49:36+10:30 error  : [App] Error Message: 403 - "Blocked"
0|index  | 2021-11-29T22:49:36+10:30 error  : [App] Bot undefined cannot recover from this error and must be re-built
0|index  | 2021-11-29T22:49:36+10:30 error  : [App] 403 - "Blocked"
0|index  | StatusCodeError: 403 - "Blocked"
0|index  |     at new StatusCodeError (CWD/node_modules/request-promise-core/lib/errors.js:32:15)
0|index  |     at Request.plumbing.callback (CWD/node_modules/request-promise-core/lib/plumbing.js:104:33)
0|index  |     at Request.RP$callback [as _callback] (CWD/node_modules/request-promise-core/lib/plumbing.js:46:31)
0|index  |     at Request.self.callback (CWD/node_modules/request/request.js:185:22)
0|index  |     at Request.emit (node:events:390:28)
0|index  |     at Request.<anonymous> (CWD/node_modules/request/request.js:1154:10)
0|index  |     at Request.emit (node:events:390:28)
0|index  |     at IncomingMessage.<anonymous> (CWD/node_modules/request/request.js:1076:12)
0|index  |     at Object.onceWrapper (node:events:509:28)
0|index  |     at IncomingMessage.emit (node:events:402:35)
0|index  |     at endReadableNT (node:internal/streams/readable:1340:12)
0|index  |     at processTicksAndRejections (node:internal/process/task_queues:83:21)

closed time in a day

OmgImAlexis

issue commentFoxxMD/context-mod

If app crashes multiple times it can cause a 403

im also experiencing 403 when trying to start up the bot in a separate instance, but my main one is still going and i can still login so account isn't suspended. I think you are correct this is probably related to the issues they had this morning. Someone else had this same issue and reported it in r/redditdev

OmgImAlexis

comment created time in a day

issue commentFoxxMD/context-mod

If app crashes multiple times it can cause a 403

Please do! The 403 is definitely from reddit and shouldn't be related to redis.

OmgImAlexis

comment created time in a day

issue closedFoxxMD/context-mod

Stuck while trying to deploy to heroku

Used the heroku link and then provided it the needed envs.

The site shows a heroku error and when trying to connect via heroku run bash it never connects. It's just forever showing Running bash on ⬢ context-mod... / connecting, run.4890 (Hobby).

Any ideas if this is a heroku issue or something with the deploy?

closed time in 2 days

OmgImAlexis

issue commentFoxxMD/context-mod

Stuck while trying to deploy to heroku

In v10.0.2 I've made changes to the heroku deployment template so this actually works now as well as updated documentation to make usage clearer and point out some caveats.

OmgImAlexis

comment created time in 2 days

release FoxxMD/context-mod

0.10.2

released time in 2 days

created tagFoxxMD/context-mod

tag0.10.2

an event-based, reddit moderation bot built on top of snoowrap and written in typescript

created time in 2 days

push eventFoxxMD/context-mod

FoxxMD

commit sha dc2eeffcb5207e5bac3c016a4998603e150d68cd

fix(bot): Remove own profile "sub" from default moderated subreddits to run on The user profile for the bot account is returning as a moderated "subreddit" EX (/u/ContextMotBot) but its not useable by CM because it does not have a wiki and users don't use this as a sub. Filter it out of moderated subreddits when using the default behavior.

view details

FoxxMD

commit sha 2a3663ccc900e3950e85801c68f9ac4a23a6fc5e

refactor(heroku): heroku-specific docker change * Add image for web and worker * Refactor port usage to conform to heroku's usage

view details

FoxxMD

commit sha cf54502f0daae7e706b496689f42f3665d0fdc7f

fix(heroku): Add redirect uri env to heroku deploy template

view details

FoxxMD

commit sha 2a9f01b9287d9c5f36a5de331a99212531396945

fix(heroku): Add OPERATOR to heroku deploy template

view details

FoxxMD

commit sha 027199d7883dd294a4c5607cf4cac96638c15b08

docs(heroku): Add information on dyno usage

view details

FoxxMD

commit sha fd5a92758d3cf8fdd866edfc0c5f1b44e1ef6695

Merge branch 'edge'

view details

push time in 2 days

issue closedFoxxMD/context-mod

Try to reduce steps/build size for docker

Current dockerfile dependencies stem from when CM was using node-canvas for image comparison. It has been replaced by sharp, which only depends on libvips and may already be built into alpine...need to test what can be removed.

closed time in 2 days

FoxxMD

issue openedFoxxMD/context-mod

Implement rule to check comments against top comments from other sources

Based on the description of karma farming from this thread.

Check the content of a comment activity against a list of "top" text comments based (and retrieved from) on the submission source:

  • if submission is external attempt to get comments using some scraping method:
    • [ ] implement youtube api call to get top comments
      • https://www.googleapis.com/youtube/v3/commentThreads?key=${API_KEY}&textFormat=plainText&order=relevance&part=snippet&filter=snippet&videoId={VIDEO_ID}&maxResults=100
    • [ ] implement twitter api to get top replies
  • if submission is reddit-based
    • check for cross-posted submissions and get top comments
    • search for other submissions with the same title and get top comments
    • allow user-defined white/blacklist for subreddits to include submissions from

For detecting a match:

  • use fuzzy searching with user-defined threshold for sameness
  • allow user-defined minimum character count

created time in 2 days

startedopenmiko/openmiko

started time in 2 days

startedEmilHernvall/dnsguide

started time in 2 days

startedpmndrs/valtio

started time in 2 days

startedExistentialAudio/BlackHole

started time in 2 days

issue openedFoxxMD/context-mod

Implement rule to check for gap in history

Implement a rule to allow checking for temporal activity patterns.

Originally suggested as being able to check for a hiatus/gap here by u/SillyStranger5009

Some examples of things that could be checked (to build a rule against):

  • Within a date range if there are been a gap in author activity
  • Within a date range find the baseline for frequency of activity and...
    • if there is a std deviation or percentage increase below or above the baseline
    • if the baseline frequency matches a user-defined value

Allow specifying these sets of behaviors as criteria with AND/OR operands as well as specifying if these events must occur 1 or N times

created time in 5 days

startedgajus/roarr

started time in 14 days

startedkeltrycroft/marvin

started time in 14 days

startedakheron/optics-ts

started time in 14 days

startedadrianscheff/useful-sed

started time in 14 days

startedmermaid-js/mermaid

started time in 14 days

delete branch FoxxMD/context-mod

delete branch : heroku

delete time in 15 days

push eventFoxxMD/context-mod

FoxxMD

commit sha 2a3663ccc900e3950e85801c68f9ac4a23a6fc5e

refactor(heroku): heroku-specific docker change * Add image for web and worker * Refactor port usage to conform to heroku's usage

view details

FoxxMD

commit sha cf54502f0daae7e706b496689f42f3665d0fdc7f

fix(heroku): Add redirect uri env to heroku deploy template

view details

FoxxMD

commit sha 2a9f01b9287d9c5f36a5de331a99212531396945

fix(heroku): Add OPERATOR to heroku deploy template

view details

FoxxMD

commit sha 027199d7883dd294a4c5607cf4cac96638c15b08

docs(heroku): Add information on dyno usage

view details

push time in 15 days

push eventFoxxMD/context-mod

FoxxMD

commit sha 0965c36455068bbe7a6e0d9b6b478e8399cf6f08

fix(heroku): Add OPERATOR to heroku deploy template

view details

FoxxMD

commit sha cdc971a34cf4e53ae2b8a2ca128d017da6c27e96

docs(heroku): Add information on dyno usage

view details

push time in 15 days

push eventFoxxMD/context-mod

FoxxMD

commit sha 4777d3516aedca1c0ab191a95139d506b94c6c12

fix(heroku): Try to specify multiple dynos

view details

push time in 15 days

push eventFoxxMD/context-mod

FoxxMD

commit sha b8ab447e721846159b2ee041fcc26a26cf4e4bc5

fix(heroku): Add redirect uri env to heroku deploy template

view details

FoxxMD

commit sha fabd29fc529fbe06ae6a9b7b9ef6e7fc5cff33d4

fix(heroku): Try to specify multiple dynos

view details

push time in 15 days

push eventFoxxMD/context-mod

FoxxMD

commit sha 3d3c1678106077cd23cc8c1901925829a9775ba7

fix(heroku): Change dyno type to web

view details

push time in 15 days

push eventFoxxMD/context-mod

FoxxMD

commit sha 95365a2f03624c125d66be37192ddc3912e048d5

fix(heroku): Use correct variable interpolation?

view details

FoxxMD

commit sha 729f86b681e3264a6bbc2e10c5a6ac0e1e526ecf

fix(heroku): Use correct variable interpolation?

view details

push time in 15 days

push eventFoxxMD/context-mod

FoxxMD

commit sha 05a15c0ba25f4b55d3a9fc14dcf78ca3569780ec

fix(heroku): Specify correct dockerfile file for heroku

view details

push time in 15 days

more