profile
viewpoint

dshoreman/albert-translate 2

Translation extension for Albert Launcher using Google Cloud v3 API

dshoreman/dotfiles 2

Arch Linux bootstrapper and configs

dshoreman/ci-presenter 1

CodeIgniter Presenter Library

dshoreman/codeigniter-base-model 1

CodeIgniter base CRUD model to remove repetition and increase productivity

dshoreman/albert 0

A fast and flexible keyboard launcher

dshoreman/bullet-train.zsh 0

:bullettrain_side: An oh-my-zsh shell theme based on the Powerline Vim plugin

dshoreman/chromium 0

The official GitHub mirror of the Chromium source

push eventdshoreman/codtracker

Dave Shoreman

commit sha c52db8f156410909c3ba4e09cd105c9f3783a727

deploy

view details

push time in 9 days

push eventdshoreman/codtracker

Dave Shoreman

commit sha 31263e5f98d183ec8efb523a0872ca4af26e6f12

Update changelog and fix duplicated event ID

view details

Dave Shoreman

commit sha 7d42a11bdab680e38aed6d988a7f6e3240b52920

Merge branch 'hotfix/0.7.3'

view details

push time in 9 days

created tagdshoreman/codtracker

tagv0.7.3

created time in 9 days

push eventdshoreman/codtracker

Dave Shoreman

commit sha 31263e5f98d183ec8efb523a0872ca4af26e6f12

Update changelog and fix duplicated event ID

view details

Dave Shoreman

commit sha 7d42a11bdab680e38aed6d988a7f6e3240b52920

Merge branch 'hotfix/0.7.3'

view details

Dave Shoreman

commit sha 39ed06d36448e0c9aa29eeacc16305c179021480

Merge tag 'v0.7.3' into develop Fix derp moment (ID reuse)

view details

push time in 9 days

push eventdshoreman/codtracker

Dave Shoreman

commit sha cb85d75f85d488fd64fc466be349a278adaefb0c

deploy

view details

push time in 9 days

created tagdshoreman/codtracker

tagv0.7.2

created time in 9 days

push eventdshoreman/codtracker

Dave Shoreman

commit sha 9fddf7121a0426af423b2ee5de21a5b55555b49d

Merge tag 'v0.7.0' into develop Moar tasks

view details

dependabot[bot]

commit sha 876a4db5be1c4586a4d14bdc8be428b0002f083a

Bump websocket-extensions from 0.1.3 to 0.1.4 Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4. - [Release notes](https://github.com/faye/websocket-extensions-node/releases) - [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4) Signed-off-by: dependabot[bot] <support@github.com>

view details

Dave Shoreman

commit sha 7551ce721bbe6d7171b125633364e8043d5e483f

Merge tag 'v0.7.1' into develop Featured tasks for June update

view details

Dave Shoreman

commit sha 1185d46cf91bf00772a034f1d14d712d80f8e30d

Merge pull request #2 from dshoreman/dependabot/npm_and_yarn/websocket-extensions-0.1.4 Bump websocket-extensions from 0.1.3 to 0.1.4

view details

Dave Shoreman

commit sha 7bd34da02db6c744404a6653e47b4c033e451bfb

New BP tasks + fix credits text

view details

Dave Shoreman

commit sha c0b2d3a330c30d91da2f82786052a74d9b3fd235

Merge branch 'release/0.7.2'

view details

push time in 9 days

push eventdshoreman/codtracker

Dave Shoreman

commit sha 7bd34da02db6c744404a6653e47b4c033e451bfb

New BP tasks + fix credits text

view details

Dave Shoreman

commit sha c0b2d3a330c30d91da2f82786052a74d9b3fd235

Merge branch 'release/0.7.2'

view details

Dave Shoreman

commit sha e5bbb20115e2978e475895a40499c551602da9c6

Merge tag 'v0.7.2' into develop Added latest battlepass tasks

view details

push time in 9 days

delete branch dshoreman/codtracker

delete branch : dependabot/npm_and_yarn/websocket-extensions-0.1.4

delete time in 9 days

push eventdshoreman/codtracker

dependabot[bot]

commit sha 876a4db5be1c4586a4d14bdc8be428b0002f083a

Bump websocket-extensions from 0.1.3 to 0.1.4 Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4. - [Release notes](https://github.com/faye/websocket-extensions-node/releases) - [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md) - [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4) Signed-off-by: dependabot[bot] <support@github.com>

view details

Dave Shoreman

commit sha 1185d46cf91bf00772a034f1d14d712d80f8e30d

Merge pull request #2 from dshoreman/dependabot/npm_and_yarn/websocket-extensions-0.1.4 Bump websocket-extensions from 0.1.3 to 0.1.4

view details

push time in 9 days

PR merged dshoreman/codtracker

Bump websocket-extensions from 0.1.3 to 0.1.4 dependencies

Bumps websocket-extensions from 0.1.3 to 0.1.4. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md">websocket-extensions's changelog</a>.</em></p> <blockquote> <h3>0.1.4 / 2020-06-02</h3> <ul> <li>Remove a ReDoS vulnerability in the header parser (CVE-2020-7662, reported by Robert McLaughlin)</li> <li>Change license from MIT to Apache 2.0</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/faye/websocket-extensions-node/commit/8efd0cd6e35faf9bb9cb08759be1e27082177d43"><code>8efd0cd</code></a> Bump version to 0.1.4</li> <li><a href="https://github.com/faye/websocket-extensions-node/commit/3dad4ad44a8c5f74d4f8f4efd3f9d6e0b5df3051"><code>3dad4ad</code></a> Remove ReDoS vulnerability in the Sec-WebSocket-Extensions header parser</li> <li><a href="https://github.com/faye/websocket-extensions-node/commit/4a76c75efb1c5d6a2f60550e9501757458d19533"><code>4a76c75</code></a> Add Node versions 13 and 14 on Travis</li> <li><a href="https://github.com/faye/websocket-extensions-node/commit/44a677a9c0631daed0b0f4a4b68c095b624183b8"><code>44a677a</code></a> Formatting change: {...} should have spaces inside the braces</li> <li><a href="https://github.com/faye/websocket-extensions-node/commit/f6c50aba0c20ff45b0f87cea33babec1217ec3f5"><code>f6c50ab</code></a> Let npm reformat package.json</li> <li><a href="https://github.com/faye/websocket-extensions-node/commit/2d211f3705d52d9efb4f01daf5a253adf828592e"><code>2d211f3</code></a> Change markdown formatting of docs.</li> <li><a href="https://github.com/faye/websocket-extensions-node/commit/0b620834cc1e1f2eace1d55ab17f71d90d88271d"><code>0b62083</code></a> Update Travis target versions.</li> <li><a href="https://github.com/faye/websocket-extensions-node/commit/729a4653073fa8dd020561113513bfa2e2119415"><code>729a465</code></a> Switch license to Apache 2.0.</li> <li>See full diff in <a href="https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 9 days

created tagdshoreman/smegbot

tagv1.4.0

created time in 9 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 9a0c0d3c71a4a53735ab1a7608d46fda2997de62

Merge tag 'v1.3.0' into develop Added ability to change quarantine role

view details

Dave Shoreman

commit sha df32501b14c9d1c9cd4f40702cba32f9ab07809f

Send long lists as multiple messages Discord has a message limit of 2000 characters, so this "buffers" output into a separate var which is then checked for length before each new member name is added to it. If adding the current name and closing backticks would cause the length to exceed 2000 chars, we first send whatever output is saved already before resetting it. Fixes display of roles with so many members that only the count is seen.

view details

Dave Shoreman

commit sha faddc2958af66a67aa7a40f12eebd49d3ab0134e

Fix crash caused by logging guild ID for DMs

view details

Dave Shoreman

commit sha ac20c1f7ddcd79d7a18ae7a3a948a7a57536111b

Add support for a root user that lacks Admin perms

view details

Dave Shoreman

commit sha eb1911c7d458912b228bb5922187375007a12d8f

Prevent crash from bad mentions in nuke/restore Do we really need the exact same message twice in the code? Probably not, but an entire second function for one line seemed excessive.

view details

Dave Shoreman

commit sha 8fe5a13adf0030db184977eb21a7e6f04c12aeb0

Add adminRole config option for extra bot users Until now, only guild members that have a role containing the Administrator permission were able to use bot commands. This adds the ability for an additional role to be defined in config which allows members with that role to also use the bot's commands.

view details

Dave Shoreman

commit sha 5a0eca8bfb77ae3b413d804d6ce00cd9c99cdf46

Bump version

view details

Dave Shoreman

commit sha 1455350ebf571de1949bcf8b742a3ddf8ab82c6b

Merge branch 'release/1.4.0'

view details

push time in 9 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 5a0eca8bfb77ae3b413d804d6ce00cd9c99cdf46

Bump version

view details

Dave Shoreman

commit sha 1455350ebf571de1949bcf8b742a3ddf8ab82c6b

Merge branch 'release/1.4.0'

view details

Dave Shoreman

commit sha 792936e3ea8a22f31e3da524b0ab5600b06a4a22

Merge tag 'v1.4.0' into develop Support longer name lists, fix crashes

view details

push time in 9 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 8fe5a13adf0030db184977eb21a7e6f04c12aeb0

Add adminRole config option for extra bot users Until now, only guild members that have a role containing the Administrator permission were able to use bot commands. This adds the ability for an additional role to be defined in config which allows members with that role to also use the bot's commands.

view details

push time in 9 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha df32501b14c9d1c9cd4f40702cba32f9ab07809f

Send long lists as multiple messages Discord has a message limit of 2000 characters, so this "buffers" output into a separate var which is then checked for length before each new member name is added to it. If adding the current name and closing backticks would cause the length to exceed 2000 chars, we first send whatever output is saved already before resetting it. Fixes display of roles with so many members that only the count is seen.

view details

Dave Shoreman

commit sha faddc2958af66a67aa7a40f12eebd49d3ab0134e

Fix crash caused by logging guild ID for DMs

view details

Dave Shoreman

commit sha ac20c1f7ddcd79d7a18ae7a3a948a7a57536111b

Add support for a root user that lacks Admin perms

view details

Dave Shoreman

commit sha eb1911c7d458912b228bb5922187375007a12d8f

Prevent crash from bad mentions in nuke/restore Do we really need the exact same message twice in the code? Probably not, but an entire second function for one line seemed excessive.

view details

push time in 9 days

issue commentJeffreyWay/laravel-mix

yargs-parser vulnerability

I'm not on my dev machine currently, so while I haven't tested the workaround in the aforementioned blog post, here's the tl;dr:

  1. Open the package.json for Laravel Mix
  2. Manually bump webpack-dev-server to "3.11.0"
  3. Run npm install && npm audit fix in the project root.
kunaime

comment created time in 17 days

issue commentdshoreman/albert-translate

ini is not created

Hmm interesting that there is no mention at all of the translate plugin... What version of Ubuntu are you using? I may have to try install in a VM so I can attempt to replicate the issue. Your albert config file could also be useful here just in case other extensions are part of the problem

thob

comment created time in 18 days

issue commentdshoreman/albert-translate

ini is not created

@thob Sorry for not getting to this sooner, not sure why but I never got an email or notification from Github. Please quit Albert then paste the output from the following steps, along with the version of Ubuntu you're using:

  1. Open terminal
  2. Launch albert in the terminal
  3. Ensure the built-in translate extension is still disabled
  4. Attempt to trigger this extension

Hopefully the extra info Albert prints to stdout will help track down the source of the issue

thob

comment created time in 18 days

created tagdshoreman/smegbot

tagv1.3.0

created time in 18 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 2e9278f0d710f8a022bb2d059db16b3dccc89a89

Merge tag 'v1.2.0' into develop Added first-run setup and cleaned up code

view details

Dave Shoreman

commit sha 2c0e31d3d4393a8396fd1088d0e483203f65eae3

Merge tag 'v1.2.1' into develop Fix quarantine command and improve logging

view details

Dave Shoreman

commit sha 19c4567d169b019ff63cffc8a0bd06e05f4001e2

Fix quarantine error phrasing "Couldn't adding the role" ain't quite right... Also replaces the bold `@Quarantine` text in case the real role is named something else.

view details

Dave Shoreman

commit sha 44eedf3651133705b816a80d319ce8fb810c911d

Add support for configuring quarantine role

view details

Dave Shoreman

commit sha 60e4c7352eb6692fbc57ce931eab51ea27397172

Bump version to 1.3.0

view details

Dave Shoreman

commit sha 2b9db5295d14cb67a594a681491d4ad3ebc5e58c

Merge branch 'release/1.3.0'

view details

push time in 18 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 19c4567d169b019ff63cffc8a0bd06e05f4001e2

Fix quarantine error phrasing "Couldn't adding the role" ain't quite right... Also replaces the bold `@Quarantine` text in case the real role is named something else.

view details

Dave Shoreman

commit sha 44eedf3651133705b816a80d319ce8fb810c911d

Add support for configuring quarantine role

view details

Dave Shoreman

commit sha 60e4c7352eb6692fbc57ce931eab51ea27397172

Bump version to 1.3.0

view details

Dave Shoreman

commit sha 2b9db5295d14cb67a594a681491d4ad3ebc5e58c

Merge branch 'release/1.3.0'

view details

Dave Shoreman

commit sha 9a0c0d3c71a4a53735ab1a7608d46fda2997de62

Merge tag 'v1.3.0' into develop Added ability to change quarantine role

view details

push time in 18 days

created tagdshoreman/smegbot

tagv1.2.1

created time in 19 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 0e47b52e67719f0da6ec992a276bd85b5f4fc7ce

Fix nick-saving output when nick didn't change

view details

Dave Shoreman

commit sha 03fd35b3bcb3817d2c51b9d856c514cca5330d1c

Fix quarantine role not being added Previously the quarantine was added, but the roles were being saved *after* which meant it was immediately removed again. This changes the order such that roles are saved *before* adding the quarantine role. Also adds extra output to console+Discord to indicate it may take some time for members that have a lot of roles.

view details

Dave Shoreman

commit sha ef6943a33d2066e315d68043ff5665704deb82eb

Fix lack of members count when list is too long Discord has a character limit which causes the message to not get sent when a list of members pushes the message over that cap. The result is the "Searching X members..." message is sent, but no further output. This splits up the second message so that count is always sent regardless. List will need splitting separately.

view details

Dave Shoreman

commit sha 509889f0f169d46e87070dc933d26e9a94dcfd36

Make message logging more useful in console

view details

Dave Shoreman

commit sha 62cca7c85baadcfdb8f3e91b37144efe4b693626

Bump version

view details

Dave Shoreman

commit sha b5616d6c9930156b963914ae1e82659d5deb0393

Merge branch 'hotfix/1.2.1'

view details

Dave Shoreman

commit sha 2c0e31d3d4393a8396fd1088d0e483203f65eae3

Merge tag 'v1.2.1' into develop Fix quarantine command and improve logging

view details

push time in 19 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 0e47b52e67719f0da6ec992a276bd85b5f4fc7ce

Fix nick-saving output when nick didn't change

view details

Dave Shoreman

commit sha 03fd35b3bcb3817d2c51b9d856c514cca5330d1c

Fix quarantine role not being added Previously the quarantine was added, but the roles were being saved *after* which meant it was immediately removed again. This changes the order such that roles are saved *before* adding the quarantine role. Also adds extra output to console+Discord to indicate it may take some time for members that have a lot of roles.

view details

Dave Shoreman

commit sha ef6943a33d2066e315d68043ff5665704deb82eb

Fix lack of members count when list is too long Discord has a character limit which causes the message to not get sent when a list of members pushes the message over that cap. The result is the "Searching X members..." message is sent, but no further output. This splits up the second message so that count is always sent regardless. List will need splitting separately.

view details

Dave Shoreman

commit sha 509889f0f169d46e87070dc933d26e9a94dcfd36

Make message logging more useful in console

view details

Dave Shoreman

commit sha 62cca7c85baadcfdb8f3e91b37144efe4b693626

Bump version

view details

Dave Shoreman

commit sha b5616d6c9930156b963914ae1e82659d5deb0393

Merge branch 'hotfix/1.2.1'

view details

push time in 19 days

created tagdshoreman/smegbot

tagv1.2.0

created time in 24 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 8daa41570c59141d028b490a45102a56e43bd7af

Merge tag 'v1.1.0' into develop 1.1.0 * Nicks (or usernames) are now saved when a member is updated * Join and part messages now show nickname or previous name where applicable * New `.config` command for getting/setting guild options * Target channel for join and part messages can now be set by admins

view details

Dave Shoreman

commit sha 549b40f9e3755576e7a0273a1aca4e8947f35ed2

Move all file paths into a new util package

view details

Dave Shoreman

commit sha 2b1e7f445381b46465c89ba7f4b97c3d6ea988aa

Move all file writes into util/files.go

view details

Dave Shoreman

commit sha bc406f9d63b8d5a41ad88b856d5692d3470be50a

Refactor reading of json/text files

view details

Dave Shoreman

commit sha 9144f3ef185c3bf17e2763d26e35e7cd7aa4ffbf

More file writing bits

view details

Dave Shoreman

commit sha 9ae773876b9f9ba21780b08bf118fdd59cf53f18

Replace usage of `discord` with `dg`

view details

Dave Shoreman

commit sha 3b9bf0a6b567ceb99905ff5c064296ab1d15a999

Refactor main message-based command listener Makes use of strings.HasPrefix instead of checking string length and running comparisons based on some arbitrary slice, and moves the permission checking into two separate functions in util/discord.

view details

Dave Shoreman

commit sha cbfdf581a21a3155dea9ef3f2678cc8b6a82f6db

Final bit of cleanup for .roles and .version Cleans up the roles command and adds a missing return in the .version command to prevent further checks after that command matches.

view details

Dave Shoreman

commit sha f1d52b28e94a4306a9c2c581780547b479bf6fa5

Merge pull request #3 from dshoreman/refactor Refactor

view details

Dave Shoreman

commit sha 529c187e21a85d9b5963a5cff7f53380d2da0448

Log guild joins and tidy handler registration

view details

Dave Shoreman

commit sha cae7af08ac4094d2c8531e0fab3f980f85ead9b2

Add members, owner, joindate and system channel

view details

Dave Shoreman

commit sha 08c2d07c8c3f8f1e4bd614bfe93cf34341a5c9fd

Show whether guild has config saved in join output

view details

Dave Shoreman

commit sha 4a7704ecedb8eb0a099fc77e73941846de41ff43

Add number of members with a nick/name saved

view details

Dave Shoreman

commit sha 0a60ae717db429a0562d0c0d046aed404c06be3f

Save initial config when joining new guilds

view details

Dave Shoreman

commit sha e8b86cff125a446f5b49f4daf6283c3fd68f1769

Save missing member names on startup/join

view details

Dave Shoreman

commit sha 6454c4f8bb10a5ecdc9b560b645f7b87abb9734e

Cleanup and update changelog To save checking config and saved names multiple times when joining any given server, this reworks it so that those are saved initially before being passed into the other functions for use as-is later when needed.

view details

Dave Shoreman

commit sha 3b9a6bfaa12b609fd7213d397f6bab9e947aa92e

Merge pull request #4 from dshoreman/first-run First run steps

view details

Dave Shoreman

commit sha eea941853050b9f4016af40bcf7cb5f7542fdb02

Bump version

view details

Dave Shoreman

commit sha 2d2b198107a91dfed7fb6fde79764490ef4c99df

Merge branch 'release/1.2.0'

view details

push time in 24 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha eea941853050b9f4016af40bcf7cb5f7542fdb02

Bump version

view details

Dave Shoreman

commit sha 2d2b198107a91dfed7fb6fde79764490ef4c99df

Merge branch 'release/1.2.0'

view details

Dave Shoreman

commit sha 2e9278f0d710f8a022bb2d059db16b3dccc89a89

Merge tag 'v1.2.0' into develop Added first-run setup and cleaned up code

view details

push time in 24 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 529c187e21a85d9b5963a5cff7f53380d2da0448

Log guild joins and tidy handler registration

view details

Dave Shoreman

commit sha cae7af08ac4094d2c8531e0fab3f980f85ead9b2

Add members, owner, joindate and system channel

view details

Dave Shoreman

commit sha 08c2d07c8c3f8f1e4bd614bfe93cf34341a5c9fd

Show whether guild has config saved in join output

view details

Dave Shoreman

commit sha 4a7704ecedb8eb0a099fc77e73941846de41ff43

Add number of members with a nick/name saved

view details

Dave Shoreman

commit sha 0a60ae717db429a0562d0c0d046aed404c06be3f

Save initial config when joining new guilds

view details

Dave Shoreman

commit sha e8b86cff125a446f5b49f4daf6283c3fd68f1769

Save missing member names on startup/join

view details

Dave Shoreman

commit sha 6454c4f8bb10a5ecdc9b560b645f7b87abb9734e

Cleanup and update changelog To save checking config and saved names multiple times when joining any given server, this reworks it so that those are saved initially before being passed into the other functions for use as-is later when needed.

view details

Dave Shoreman

commit sha 3b9a6bfaa12b609fd7213d397f6bab9e947aa92e

Merge pull request #4 from dshoreman/first-run First run steps

view details

push time in 24 days

delete branch dshoreman/smegbot

delete branch : first-run

delete time in 24 days

PR merged dshoreman/smegbot

First run enhancement

Prints out guild information in the console, creates default guild configs where they don't already exist, and saves member usernames (or nicks if available) when joining a guild.

+90 -12

0 comment

5 changed files

dshoreman

pr closed time in 24 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 6454c4f8bb10a5ecdc9b560b645f7b87abb9734e

Cleanup and update changelog To save checking config and saved names multiple times when joining any given server, this reworks it so that those are saved initially before being passed into the other functions for use as-is later when needed.

view details

push time in 24 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 5986b520763fbe19d0562583101f4eebb5d80aed

Remove redundancy from join status output

view details

push time in 24 days

PR opened dshoreman/smegbot

First run enhancement

Prints out guild information in the console, creates default guild configs where they don't already exist, and saves member usernames (or nicks if available) when joining a guild.

+96 -12

0 comment

5 changed files

pr created time in 24 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 0a60ae717db429a0562d0c0d046aed404c06be3f

Save initial config when joining new guilds

view details

Dave Shoreman

commit sha e8b86cff125a446f5b49f4daf6283c3fd68f1769

Save missing member names on startup/join

view details

Dave Shoreman

commit sha 8597ba807a36fd7b68566ef44317e6644e804805

Cleanup and update changelog To save checking config and saved names multiple times when joining any given server, this reworks it so that those are saved initially before being passed into the other functions for use as-is later when needed.

view details

push time in 24 days

push eventdshoreman/smegbot

Dave Shoreman

commit sha 08c2d07c8c3f8f1e4bd614bfe93cf34341a5c9fd

Show whether guild has config saved in join output

view details

Dave Shoreman

commit sha 4a7704ecedb8eb0a099fc77e73941846de41ff43

Add number of members with a nick/name saved

view details

push time in 25 days

create barnchdshoreman/smegbot

branch : first-run

created branch time in 25 days

push eventdshoreman/codtracker

Dave Shoreman

commit sha 5c0298a664fb72d36924fe610b8f2a255e50d31c

deploy

view details

push time in a month

push eventdshoreman/codtracker

Dave Shoreman

commit sha cc6f5c5406873c0264b41da1bf90bc3d856df36e

New featured tasks for Tunisian+BR update

view details

Dave Shoreman

commit sha 1a6cbb6979c89125dfe78746d803da8c555fdcc8

Merge branch 'hotfix/0.7.1'

view details

push time in a month

created tagdshoreman/codtracker

tagv0.7.1

created time in a month

push eventdshoreman/codtracker

Dave Shoreman

commit sha cc6f5c5406873c0264b41da1bf90bc3d856df36e

New featured tasks for Tunisian+BR update

view details

Dave Shoreman

commit sha 1a6cbb6979c89125dfe78746d803da8c555fdcc8

Merge branch 'hotfix/0.7.1'

view details

Dave Shoreman

commit sha 7551ce721bbe6d7171b125633364e8043d5e483f

Merge tag 'v0.7.1' into develop Featured tasks for June update

view details

push time in a month

delete branch dshoreman/smegbot

delete branch : nick-tracking

delete time in a month

delete branch dshoreman/smegbot

delete branch : guild-config

delete time in a month

delete branch dshoreman/smegbot

delete branch : refactor

delete time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 549b40f9e3755576e7a0273a1aca4e8947f35ed2

Move all file paths into a new util package

view details

Dave Shoreman

commit sha 2b1e7f445381b46465c89ba7f4b97c3d6ea988aa

Move all file writes into util/files.go

view details

Dave Shoreman

commit sha bc406f9d63b8d5a41ad88b856d5692d3470be50a

Refactor reading of json/text files

view details

Dave Shoreman

commit sha 9144f3ef185c3bf17e2763d26e35e7cd7aa4ffbf

More file writing bits

view details

Dave Shoreman

commit sha 9ae773876b9f9ba21780b08bf118fdd59cf53f18

Replace usage of `discord` with `dg`

view details

Dave Shoreman

commit sha 3b9bf0a6b567ceb99905ff5c064296ab1d15a999

Refactor main message-based command listener Makes use of strings.HasPrefix instead of checking string length and running comparisons based on some arbitrary slice, and moves the permission checking into two separate functions in util/discord.

view details

Dave Shoreman

commit sha cbfdf581a21a3155dea9ef3f2678cc8b6a82f6db

Final bit of cleanup for .roles and .version Cleans up the roles command and adds a missing return in the .version command to prevent further checks after that command matches.

view details

Dave Shoreman

commit sha f1d52b28e94a4306a9c2c581780547b479bf6fa5

Merge pull request #3 from dshoreman/refactor Refactor

view details

push time in a month

PR merged dshoreman/smegbot

Refactor
+189 -164

0 comment

10 changed files

dshoreman

pr closed time in a month

PR opened dshoreman/smegbot

Refactor
+189 -164

0 comment

10 changed files

pr created time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha cbfdf581a21a3155dea9ef3f2678cc8b6a82f6db

Final bit of cleanup for .roles and .version Cleans up the roles command and adds a missing return in the .version command to prevent further checks after that command matches.

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 3b9bf0a6b567ceb99905ff5c064296ab1d15a999

Refactor main message-based command listener Makes use of strings.HasPrefix instead of checking string length and running comparisons based on some arbitrary slice, and moves the permission checking into two separate functions in util/discord.

view details

push time in a month

push eventdshoreman/codtracker

Dave Shoreman

commit sha d6b0436b6ecc38ab8f19bf9e9e0235e856f82754

deploy

view details

push time in a month

created tagdshoreman/codtracker

tagv0.7.0

created time in a month

push eventdshoreman/codtracker

Dave Shoreman

commit sha 736af54e4e53a770566bf1668b534c6676b1a73c

Add latest event tasks and update changelog

view details

Dave Shoreman

commit sha bd496884fc8eed88b707fb18f9f7304a5568f8b6

Merge branch 'release/0.7.0'

view details

Dave Shoreman

commit sha 9fddf7121a0426af423b2ee5de21a5b55555b49d

Merge tag 'v0.7.0' into develop Moar tasks

view details

push time in a month

push eventdshoreman/codtracker

Dave Shoreman

commit sha 76583d6760d6c3b963a98b6547e1e20267362776

Merge tag 'v0.6.0' into develop New battlepass and event format with info and tips

view details

Dave Shoreman

commit sha e8371afc3ab49003d21d9087e5c9d2f6d9788b42

Merge tag 'v0.6.1' into develop Fix duplicate IDs preventing independent control

view details

Dave Shoreman

commit sha a822ed647fd158ba6dd2eb5a90306f0c16545246

Merge tag 'v0.6.2' into develop Fix end date for featured events

view details

Dave Shoreman

commit sha 736af54e4e53a770566bf1668b534c6676b1a73c

Add latest event tasks and update changelog

view details

Dave Shoreman

commit sha bd496884fc8eed88b707fb18f9f7304a5568f8b6

Merge branch 'release/0.7.0'

view details

push time in a month

create barnchdshoreman/smegbot

branch : refactor

created branch time in a month

created tagdshoreman/smegbot

tagv1.1.0

created time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 56d98f9d54a91591e88f66d2afa187b28eac9dec

Merge tag 'v1.0.0' into develop First release

view details

Dave Shoreman

commit sha ec6a6df324aabb272971db8f4793b958d403713a

Merge tag 'v1.0.1' into develop Fix compile error

view details

Dave Shoreman

commit sha bf16a938165106ebebe73316559942a1ad2fbfbf

Listen for member update events When a member is updated we spit out their @username#discriminator in Discord along with the new nick. This is mostly PoC and will be gone once we're writing the nick to a file in storage instead.

view details

Dave Shoreman

commit sha 3aaf9eaae671c13409d461434d9803313a39703c

Save new member nicknames when they're updated

view details

Dave Shoreman

commit sha d0faa9a97daa5ea55f2c27979c7f59e9a187ba01

Check nick is actually different before reading it There are a few changes beside the nickname that could trigger a member update event, so we want to be sure the nick is new and uncached.

view details

Dave Shoreman

commit sha d5506fd22c1341aafcdda13c6ac92f2e3e367020

Show original nick in part messages if available

view details

Dave Shoreman

commit sha 1d7decc3428cd4a21be2e46d4d3f16f81879a27e

If a user already had a nick, show it on rejoin

view details

Dave Shoreman

commit sha 91b22c52e888ff6a65a1ac67b92166ff6e0d8daf

Fix blank nicknames in join/part messages

view details

Dave Shoreman

commit sha a88d145a1aa6fbef5fcbc4a8b2112adf646bb793

Display "returned" if joining member had a nick

view details

Dave Shoreman

commit sha 997d8b3ecede9819c8f571cfa543623a47cd58bf

Save username when member has no nick If a member leaves, then rejoins after changing their username, it could be difficult to identify them if they had no nickname defined. This saves the username any time an update is triggered with no nickname, e.g. on first join or when a nickname is removed. That way there will always be a name to reference any time somebody rejoins.

view details

Dave Shoreman

commit sha ab76170359b99296466f5ac49dd6b0c5154c0899

Fix duplicate username in joins and parts Now that usernames are saved, we need to make sure members "nicks" aren't the same as their username (eg if they rejoin with the same name and had no nickname previously), otherwise we see the username twice.

view details

Dave Shoreman

commit sha c4ca95e2c4ccef45dbb82f4fda9d0bf21ca09a77

Rewrite joins/parts for uniform messages There was a lot of needless duplication so messages have been tweaked to be similar in all cases such that we can reuse one function instead. Due to inconsistencies with Discord -- specifically being unable to decide whether it wants to display username, nick or "invalid user" -- we're now also showing plain text `@username#1234` format instead of mentions. Also adds join/part updates to changelog.

view details

Dave Shoreman

commit sha 952232d6f87cdb6ca69c9159622e6eb5691bcb41

Merge pull request #1 from dshoreman/nick-tracking Discord only gives you the "current" member object in create/remove (join/part) events, which in the case of remove/part means there is no Nick defined as the event seems to fire after the member has been removed from the guild. To get around the quirks while also showing usernames in case somebody renames their account before rejoining, this PR adds a whole ton of stuff for tracking nick and username changes.

view details

Dave Shoreman

commit sha 5f30f14adfe19a5f63a013d4062df7dd83254134

Add initial .config command to list values

view details

Dave Shoreman

commit sha da19710d78b7dd3f378bd65b7568250dcde92975

Add ability to save config.json for a guild This probably isn't usable yet as we're unable to get channel mentions for anything other than 100% public channels visible to everyone in a public guild, which seems kind of useless but there you go. At least we're able to send commands like `.config joinChannel #general` now.

view details

Dave Shoreman

commit sha a6646f2b6d8ec71eac30a4e9e13d66e3c530e5f3

Use config to get channel ID for joins/parts The mention strings included in `m.Content` (eg `<#1242893479>`) won't work here as we need the plain ID string to pass to ChannelMessageSend, so there's a new little helper that trims the junk. We'll still default to the "first channel", but that too could use some improvement as there's no guarantee that will be a text channel.

view details

Dave Shoreman

commit sha 9d9bc32022d687ed221d02ffdc846d94b1d7ccd1

Move ChannelID parsing into config layer Makes sense to only save the ID since: A) We're only using the ID where it really matters in the code B) The mention can always be added if needed C) The angle brackets get encoded, making the config.json hard to read.

view details

Dave Shoreman

commit sha 4241dd63f2b7020011db6326e9e088f4b8429000

Fix join message channel for returning members The action was checking for "joined" but not "returned", so rather than check both this just inverts the second check so it's "not left".

view details

Dave Shoreman

commit sha 5067565bae4b1080613cd3b0f9daaf1aa34c9d2d

Merge pull request #2 from dshoreman/guild-config Adds a new .config command for setting target channels when member join and part messages are sent.

view details

Dave Shoreman

commit sha d1bcf25734cce2ab55867c90b544f6b2917348b5

Bump version

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha d1bcf25734cce2ab55867c90b544f6b2917348b5

Bump version

view details

Dave Shoreman

commit sha 55cef3d78d586ad33ac57f0d89056edb3e0dd292

Merge branch 'release/1.1.0'

view details

Dave Shoreman

commit sha 8daa41570c59141d028b490a45102a56e43bd7af

Merge tag 'v1.1.0' into develop 1.1.0 * Nicks (or usernames) are now saved when a member is updated * Join and part messages now show nickname or previous name where applicable * New `.config` command for getting/setting guild options * Target channel for join and part messages can now be set by admins

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 5f30f14adfe19a5f63a013d4062df7dd83254134

Add initial .config command to list values

view details

Dave Shoreman

commit sha da19710d78b7dd3f378bd65b7568250dcde92975

Add ability to save config.json for a guild This probably isn't usable yet as we're unable to get channel mentions for anything other than 100% public channels visible to everyone in a public guild, which seems kind of useless but there you go. At least we're able to send commands like `.config joinChannel #general` now.

view details

Dave Shoreman

commit sha a6646f2b6d8ec71eac30a4e9e13d66e3c530e5f3

Use config to get channel ID for joins/parts The mention strings included in `m.Content` (eg `<#1242893479>`) won't work here as we need the plain ID string to pass to ChannelMessageSend, so there's a new little helper that trims the junk. We'll still default to the "first channel", but that too could use some improvement as there's no guarantee that will be a text channel.

view details

Dave Shoreman

commit sha 9d9bc32022d687ed221d02ffdc846d94b1d7ccd1

Move ChannelID parsing into config layer Makes sense to only save the ID since: A) We're only using the ID where it really matters in the code B) The mention can always be added if needed C) The angle brackets get encoded, making the config.json hard to read.

view details

Dave Shoreman

commit sha 4241dd63f2b7020011db6326e9e088f4b8429000

Fix join message channel for returning members The action was checking for "joined" but not "returned", so rather than check both this just inverts the second check so it's "not left".

view details

Dave Shoreman

commit sha 5067565bae4b1080613cd3b0f9daaf1aa34c9d2d

Merge pull request #2 from dshoreman/guild-config Adds a new .config command for setting target channels when member join and part messages are sent.

view details

push time in a month

PR merged dshoreman/smegbot

Guild config enhancement

Adds a new .config command for setting target channels when member join and part messages are sent.

+116 -3

0 comment

5 changed files

dshoreman

pr closed time in a month

PR opened dshoreman/smegbot

Guild config enhancement

Adds a new .config command for setting target channels when member join and part messages are sent.

+116 -3

0 comment

5 changed files

pr created time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 4241dd63f2b7020011db6326e9e088f4b8429000

Fix join message channel for returning members The action was checking for "joined" but not "returned", so rather than check both this just inverts the second check so it's "not left".

view details

push time in a month

create barnchdshoreman/smegbot

branch : guild-config

created branch time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha bf16a938165106ebebe73316559942a1ad2fbfbf

Listen for member update events When a member is updated we spit out their @username#discriminator in Discord along with the new nick. This is mostly PoC and will be gone once we're writing the nick to a file in storage instead.

view details

Dave Shoreman

commit sha 3aaf9eaae671c13409d461434d9803313a39703c

Save new member nicknames when they're updated

view details

Dave Shoreman

commit sha d0faa9a97daa5ea55f2c27979c7f59e9a187ba01

Check nick is actually different before reading it There are a few changes beside the nickname that could trigger a member update event, so we want to be sure the nick is new and uncached.

view details

Dave Shoreman

commit sha d5506fd22c1341aafcdda13c6ac92f2e3e367020

Show original nick in part messages if available

view details

Dave Shoreman

commit sha 1d7decc3428cd4a21be2e46d4d3f16f81879a27e

If a user already had a nick, show it on rejoin

view details

Dave Shoreman

commit sha 91b22c52e888ff6a65a1ac67b92166ff6e0d8daf

Fix blank nicknames in join/part messages

view details

Dave Shoreman

commit sha a88d145a1aa6fbef5fcbc4a8b2112adf646bb793

Display "returned" if joining member had a nick

view details

Dave Shoreman

commit sha 997d8b3ecede9819c8f571cfa543623a47cd58bf

Save username when member has no nick If a member leaves, then rejoins after changing their username, it could be difficult to identify them if they had no nickname defined. This saves the username any time an update is triggered with no nickname, e.g. on first join or when a nickname is removed. That way there will always be a name to reference any time somebody rejoins.

view details

Dave Shoreman

commit sha ab76170359b99296466f5ac49dd6b0c5154c0899

Fix duplicate username in joins and parts Now that usernames are saved, we need to make sure members "nicks" aren't the same as their username (eg if they rejoin with the same name and had no nickname previously), otherwise we see the username twice.

view details

Dave Shoreman

commit sha c4ca95e2c4ccef45dbb82f4fda9d0bf21ca09a77

Rewrite joins/parts for uniform messages There was a lot of needless duplication so messages have been tweaked to be similar in all cases such that we can reuse one function instead. Due to inconsistencies with Discord -- specifically being unable to decide whether it wants to display username, nick or "invalid user" -- we're now also showing plain text `@username#1234` format instead of mentions. Also adds join/part updates to changelog.

view details

Dave Shoreman

commit sha 952232d6f87cdb6ca69c9159622e6eb5691bcb41

Merge pull request #1 from dshoreman/nick-tracking Discord only gives you the "current" member object in create/remove (join/part) events, which in the case of remove/part means there is no Nick defined as the event seems to fire after the member has been removed from the guild. To get around the quirks while also showing usernames in case somebody renames their account before rejoining, this PR adds a whole ton of stuff for tracking nick and username changes.

view details

push time in a month

PR merged dshoreman/smegbot

Nick tracking enhancement

Discord only gives you the "current" member object in create/remove (join/part) events, which in the case of remove/part means there is no Nick defined as the event seems to fire after the member has been removed from the guild.

To get around the quirks while also showing usernames in case somebody renames their account before rejoining, this PR adds a whole ton of stuff for tracking nick and username changes.

+76 -2

0 comment

3 changed files

dshoreman

pr closed time in a month

PR opened dshoreman/smegbot

Nick tracking enhancement

Discord only gives you the "current" member object in create/remove (join/part) events, which in the case of remove/part means there is no Nick defined as the event seems to fire after the member has been removed from the guild.

To get around the quirks while also showing usernames in case somebody renames their account before rejoining, this PR adds a whole ton of stuff for tracking nick and username changes.

+76 -2

0 comment

3 changed files

pr created time in a month

create barnchdshoreman/smegbot

branch : nick-tracking

created branch time in a month

created tagdshoreman/smegbot

tagv1.0.1

created time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 5c62b02b9a8ac70f3aab9da2b07e6777007d0774

Fix compile error and changelog link

view details

Dave Shoreman

commit sha 28b2119929c7885b7c240a0006710b3047ff29f6

Bump version

view details

Dave Shoreman

commit sha 90e71ec592b5bd0e859fef3c1711c1d541945235

Merge branch 'hotfix/1.0.1'

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 5c62b02b9a8ac70f3aab9da2b07e6777007d0774

Fix compile error and changelog link

view details

Dave Shoreman

commit sha 28b2119929c7885b7c240a0006710b3047ff29f6

Bump version

view details

Dave Shoreman

commit sha 90e71ec592b5bd0e859fef3c1711c1d541945235

Merge branch 'hotfix/1.0.1'

view details

Dave Shoreman

commit sha ec6a6df324aabb272971db8f4793b958d403713a

Merge tag 'v1.0.1' into develop Fix compile error

view details

push time in a month

push eventdshoreman/smegbot

push time in a month

push eventdshoreman/smegbot

push time in a month

delete tag dshoreman/smegbot

delete tag : v1.0.1

delete time in a month

created tagdshoreman/smegbot

tagv1.0.1

created time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 66d53bd101ae38f947292b89cd579d4399a19872

Fix compile error and changelog link

view details

Dave Shoreman

commit sha 24b69f5ccf3c1a2d19986f257d25c761360989c2

Merge branch 'hotfix/1.0.1'

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 66d53bd101ae38f947292b89cd579d4399a19872

Fix compile error and changelog link

view details

Dave Shoreman

commit sha 24b69f5ccf3c1a2d19986f257d25c761360989c2

Merge branch 'hotfix/1.0.1'

view details

Dave Shoreman

commit sha 90761710783d461e2b7f907547838e2cf536f779

Merge tag 'v1.0.1' into develop Fix compile error

view details

push time in a month

created tagdshoreman/smegbot

tagv1.0.0

created time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 551a2c7f1a790f4d76d1fbdd6168dbc9cb9bec50

Add version info and print it with logo

view details

Dave Shoreman

commit sha 60de28c815330372fc8754eae1ffb37359d8d581

Move logo and print/exit bits into cli/helpers.go

view details

Dave Shoreman

commit sha 76bd031edbf4dbd74b96d7ec94cf5062fc4d5032

Add .version command Needed to move the definition of the `version` const into the cli package and make it global in order to access it from commands.

view details

Dave Shoreman

commit sha 5883c4aa03bc29860cb52b22d21a83b1defd2a9b

Remove UserID from .roles and .members output

view details

Dave Shoreman

commit sha fd15e80d2a51739d7c45295c457c66a277975ba7

Bump version and add changelog

view details

Dave Shoreman

commit sha 962debc6ebed8e4d8ab6a068ff9519b2dccbdad4

Merge branch 'release/1.0.0'

view details

Dave Shoreman

commit sha 56d98f9d54a91591e88f66d2afa187b28eac9dec

Merge tag 'v1.0.0' into develop First release

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 79072aef358583fafa3b24bbb5584bb827f33216

Add go.mod and basic hello world stuff

view details

Dave Shoreman

commit sha 6e87584209a98955ba8a4089fa31a6d03c8d8a01

Add pflag so we can take bot token as an arg

view details

Dave Shoreman

commit sha 2ca8ebea2661c344b2a5446ff4a1de5a16f68d4b

Add discord connection bits Creates a session with discordgo, passing in the bot token then opens a connection to discord which is assigned to `dg`. At that point, we just wait until the user hits ctrl-c when we close the session and quit out.

view details

Dave Shoreman

commit sha 181d4942d4dd9f8e34613497b9fdc310e862e342

Add usage info, ping command and message output

view details

Dave Shoreman

commit sha 4735d8a5ad966bd2c9bc988d36aa45489d25043f

Add .roles command to fetch a member's roles

view details

Dave Shoreman

commit sha 8f676c6d60520f24b7e87e505caafda7eee3d7f7

Add a command for listing a user's roles

view details

Dave Shoreman

commit sha e4f2783ce92f48ec2aaf7ff1d0439ba5ecf710b2

Add basic listing of members with a given role

view details

Dave Shoreman

commit sha 1ad1d81a3bf805a82635bf10113aeccfb98e4b15

Reduce messages sent by .members command The current way of sending matches to the channel was a crude solution resulting in an n+1 which, while not an issue on a small server, could well be on one with hundreds of role members. This refactors the command so that all results can be grouped and sent in one batch at the end of the search.

view details

Dave Shoreman

commit sha 0826121a98d8af9b6599303aa3ca1ebba1640f96

Update .roles command to match .members style

view details

Dave Shoreman

commit sha b5bbe3d9d48890c1223deb377337ea3a053599ec

Add .nuke command for adding members to quarantine

view details

Dave Shoreman

commit sha 0e8833b813c26359e5b83f2129e303eb3e219e5b

Add .restore command to remove quarantine role

view details

Dave Shoreman

commit sha c095e3ab844c20a274e2ee883fc3b0ee7700aaa3

Fix member pings in .nuke/.release responses Since we're using the ID here rather than the username or nick, we'd be much better off with a mention instead of just a long number.

view details

Dave Shoreman

commit sha 8f471b07e55c053e3353acb376f44a1b9fc9d46b

Reorganise commands into separate modules Each command is now 'registered' in commands/main.go which defines the conditions under which each command should be run.

view details

Dave Shoreman

commit sha 5b55bd74419a0f33d74ca4b26378d5d0cbe125d7

Refactor and add .nuke/.release to readme

view details

Dave Shoreman

commit sha 1b4d1b58ddcdbdde074d1967ecea9b83ebdeebbf

Save and remove member roles when quarantining This stores a JSON representation of the nukee's roles to `roles.json` in `storage/guilds/<guildID>/<memberID>` before removing each assigned role once the quarantine role has been added.

view details

Dave Shoreman

commit sha 0a2c06be107a2759e62958483f9a395c45964a16

Add member's old roles back when restoring them

view details

Dave Shoreman

commit sha f74df76a5fbe0abff1a7f37884509ea8338a78b5

Send a message when a member leaves or joins

view details

Dave Shoreman

commit sha ba13ae771795acfb05eb59a1549f53c3d37dabdf

Ensure users have Administrator permission Note this does not check whether the user is a server owner so even the owner must have a role that is granted the Administrator permission in order for any commands to function for them. If user doesn't have permission there will be no message sent to the channel.

view details

Dave Shoreman

commit sha 551a2c7f1a790f4d76d1fbdd6168dbc9cb9bec50

Add version info and print it with logo

view details

Dave Shoreman

commit sha 60de28c815330372fc8754eae1ffb37359d8d581

Move logo and print/exit bits into cli/helpers.go

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha ba13ae771795acfb05eb59a1549f53c3d37dabdf

Ensure users have Administrator permission Note this does not check whether the user is a server owner so even the owner must have a role that is granted the Administrator permission in order for any commands to function for them. If user doesn't have permission there will be no message sent to the channel.

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 1b4d1b58ddcdbdde074d1967ecea9b83ebdeebbf

Save and remove member roles when quarantining This stores a JSON representation of the nukee's roles to `roles.json` in `storage/guilds/<guildID>/<memberID>` before removing each assigned role once the quarantine role has been added.

view details

Dave Shoreman

commit sha 0a2c06be107a2759e62958483f9a395c45964a16

Add member's old roles back when restoring them

view details

Dave Shoreman

commit sha f74df76a5fbe0abff1a7f37884509ea8338a78b5

Send a message when a member leaves or joins

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 5b55bd74419a0f33d74ca4b26378d5d0cbe125d7

Refactor and add .nuke/.release to readme

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha c095e3ab844c20a274e2ee883fc3b0ee7700aaa3

Fix member pings in .nuke/.release responses Since we're using the ID here rather than the username or nick, we'd be much better off with a mention instead of just a long number.

view details

Dave Shoreman

commit sha 8f471b07e55c053e3353acb376f44a1b9fc9d46b

Reorganise commands into separate modules Each command is now 'registered' in commands/main.go which defines the conditions under which each command should be run.

view details

push time in a month

push eventdshoreman/smegbot

Dave Shoreman

commit sha 8f676c6d60520f24b7e87e505caafda7eee3d7f7

Add a command for listing a user's roles

view details

Dave Shoreman

commit sha e4f2783ce92f48ec2aaf7ff1d0439ba5ecf710b2

Add basic listing of members with a given role

view details

Dave Shoreman

commit sha 1ad1d81a3bf805a82635bf10113aeccfb98e4b15

Reduce messages sent by .members command The current way of sending matches to the channel was a crude solution resulting in an n+1 which, while not an issue on a small server, could well be on one with hundreds of role members. This refactors the command so that all results can be grouped and sent in one batch at the end of the search.

view details

Dave Shoreman

commit sha 0826121a98d8af9b6599303aa3ca1ebba1640f96

Update .roles command to match .members style

view details

Dave Shoreman

commit sha b5bbe3d9d48890c1223deb377337ea3a053599ec

Add .nuke command for adding members to quarantine

view details

Dave Shoreman

commit sha 0e8833b813c26359e5b83f2129e303eb3e219e5b

Add .restore command to remove quarantine role

view details

push time in a month

create barnchdshoreman/smegbot

branch : master

created branch time in a month

create barnchdshoreman/smegbot

branch : develop

created branch time in a month

created repositorydshoreman/smegbot

created time in a month

created repositorydshoreman/smegbot

created time in a month

issue commentdshoreman/servidor

Can't view folders/files unless www-data has permission

@nCrazed No, quite the opposite! A completely seperate service/daemon running locally is the ideal solution (and long term plan) for a few things. This issue along with data collection for server resources (CPU activity, free space etc) are probably the two best examples.

I was thinking of using Golang or Elixir, but that's not set in stone yet. They would have the benefit of running as a standalone binary thus no need to mess about running artisan via PHP in a root cron or something like that. It would remove the need for modifications to /etc/sudoers too, which is a massive bonus.

All that said, I haven't thought too much about actual implementations yet so I'm still open to any ideas you might have. One thing that does need to happen at some point is linking Servidor (app) users to a system (Linux) user account. That way in the future we'll be able to restrict access based on real permissions. In PHP that might be something like:

exec(sprintf('sudo -u %s ls -lA "%s"', $user->systemName, $path), $results);

Not pretty, but (likely) somewhat functional with some wrapping bits. Not really a high priority atm though as Servidor is mostly setup for single-user mode where said single user owns everything.

Super-long-term the biggest benefit to a service would be expansion. Currently if you have two servers, you need a full install on each which isn't ideal. It would be great if you could have one central 'hub' (ie the webapp) that any number of services can report to from various different servers.

Anywho, all just ideas at this point so I'd love to hear your thoughts! Sorry for the essay 😉

dshoreman

comment created time in 2 months

issue commentdshoreman/servidor

Support deletion of files and folders

Technically the original description of this issue is now solved, since we can delete the home directory as an option when deleting a user account. It would still be nice to delete other directories though, so I'll leave this open for now.

dshoreman

comment created time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha b7d47e7a2872e3eabc198c06bc414f5498167f60

Add regression test for #214 While this issue was fixed in b18c8eba3a189b22a27329f8286a37e24790e633, issue #214 was never referenced in the commit and a test wasn't added. We could do this without using Arr::first and just dumping it all in the assertJsonFragment call, but this way we get much cleaner failures.

view details

push time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha 03f6af8154eb442c7eab4e08abe894a6b4d97f38

Add basic tests for list/update dir/file actions This moves the endpoint method from the user and group test cases into the main one used by all tests, with some minor tweaks for it to support passing an array that will be converted to a query string in the URL. When the update file test creates the test file, we also make sure it's deleted after the test has run to avoid it interfering with future runs.

view details

Dave Shoreman

commit sha 1a0477118351501825800550a11b120603062420

Exclude file update test from travis runs Travis seems unable to create the file even in a project dir, so we'll just lump it into a group that we can ignore when we call phpunit from the travis script.sh. Older PHP (7.3 iirc) was also complaining about using string type hints on the class properties, so we ditch those too. Since we're explicitly excluding certain tests by a group, we can include the old free memory test for the stats bar as well. It still doesn't pass in Travis so needs to be excluded there, but seems to be just fine when tests are run locally in the vagrant vm.

view details

Dave Shoreman

commit sha bd547a3964af0f441a925492bb7e8d88f6aabb62

Fix newlines being trimmed from files on update This adds a selection of test for error handling of file updates and fixes an issue along the way where you wouldn't be able to write something like `"foo\n"` to a file without the `\n` being trimmed. Switching InvalidArgumentException to ValidationException doesn't really matter much, it's just easier to test things that way.

view details

Dave Shoreman

commit sha 5049212f624c14168ae4f26c8109775065a41666

Handle 500 error when listing nonexistant paths Adds handling for Symfony's `DirectoryNotFoundException` so that instead of getting a 500 we can return a 404 that's then transformed into a friendly error placeholder in the file manager. So that the user can navigate back up to the previous directory (assuming it exists), we're also including the `filepath` attribute in the error response.

view details

Dave Shoreman

commit sha 4b3b9e09a6500f32091b79836f14b642ef794d98

Bring test coverage for FileManager to 100% This adds some new tests to cover 403 and 415 (media/file type unsupported) errors and tweaks some older bits that weren't tested. The manual text/octal file permissions seem to be left behind from some older code before it was updated to normalise the permission keys, so this can likely be removed fairly safely without breaking anything. In case of an error when opening a file, we now default to 418 rather than falling back to it. Since the failing conditions for the fallback error are inherently unknown, it's been difficult to test previously. By defaulting instead, the same `$data` array is used by the by the permission denied handling thus its test now also cover the default. The 422 "failed loading file" fallback is also a relic from the past and can safely be deleted. This was from a time when there wasn't any basic mime/type checking on files, so image/font/binary files would trigger a JSON error hence the try/catch when returning the response.

view details

push time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha b7b7d2ed750a99f8b412cc6e6fe5faab951a0bfe

Handle 500 error when listing nonexistant paths Adds handling for Symfony's `DirectoryNotFoundException` so that instead of getting a 500 we can return a 404 that's then transformed into a friendly error placeholder in the file manager. So that the user can navigate back up to the previous directory (assuming it exists), we're also including the `filepath` attribute in the error response.

view details

Dave Shoreman

commit sha 48af7c5276947233067071fac0d61dbdef6af3e1

Bring test coverage for FileManager to 100% This adds some new tests to cover 403 and 415 (media/file type unsupported) errors and tweaks some older bits that weren't tested. The manual text/octal file permissions seem to be left behind from some older code before it was updated to normalise the permission keys, so this can likely be removed fairly safely without breaking anything. In case of an error when opening a file, we now default to 418 rather than falling back to it. Since the failing conditions for the fallback error are inherently unknown, it's been difficult to test previously. By defaulting instead, the same `$data` array is used by the by the permission denied handling thus its test now also cover the default. The 422 "failed loading file" fallback is also a relic from the past and can safely be deleted. This was from a time when there wasn't any basic mime/type checking on files, so image/font/binary files would trigger a JSON error hence the try/catch when returning the response.

view details

push time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha 6e8f6e0225b8379b599f68e09669e78236e47baa

Fix newlines being trimmed from files on update This adds a selection of test for error handling of file updates and fixes an issue along the way where you wouldn't be able to write something like `"foo\n"` to a file without the `\n` being trimmed. Switching InvalidArgumentException to ValidationException doesn't really matter much, it's just easier to test things that way.

view details

push time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha ae49ad21de07eab408f1528acb127fe67923666b

Definitely disable the free memory test in travis

view details

push time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha ee4088b885a856a38663031101158ba2ae9caf16

Exclude file update test from travis runs Seems even with a 'local' directory it still doesn't want to create the file, so we'll just lump it into a group that we can ignore when we call phpunit from the travis script.sh. Older PHP (7.3 iirc) was also complaining about the string properties, so we ditch those too. Since we're ignoring one test for travis, I figured I'd try out the stats test again. It seems to be passing, so let's see how it goes in Travis. Maybe we keep it, otherwise it can be ignored or removed.

view details

push time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha f9cbc307e3b38655c744d24bceb1f8bbea7eeb65

Hopefully fix phpunit in travis While tests are all passing locally in vagrant, the file update test is failing in Travis due to it being unable to create the dummy file. Whether /var/www doesn't exist or doesn't have permission I have no idea, but this moves to the /resources path for a fighting chance. Also removes the dummy file after running to avoid any interference.

view details

push time in 2 months

PR opened dshoreman/servidor

Improvements to the File Manager enhancement
+96 -24

0 comment

5 changed files

pr created time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha af06b3fc8ac3a093e00c13aa32864e05bcafc2b4

Add basic tests for list/update dir/file actions This moves the endpoint method from the user and group test cases into the main one used by all tests, with some minor tweaks for it to support passing an array that will be converted to a query string in the URL.

view details

push time in 2 months

create barnchdshoreman/servidor

branch : more-file-options

created branch time in 2 months

push eventdshoreman/servidor

Dave Shoreman

commit sha f934c1a9d0db2a9d2f4206eb62c2f3614b2c031c

Test that home directory gets purged with user

view details

push time in 2 months

more