Duga icon indicating copy to clipboard operation
Duga copied to clipboard

Interactive useful commands

Open Zomis opened this issue 9 years ago • 17 comments

Now that Duga is able to be more interactive, as she can read from chat, I'd love to get feature-requests for useful chat commands she could respond to.

When you ping Duga with a command, she will be able to know about your chat username and user id, and potentially also your Github username.

Duga was created to be a tool and not a toy, and I intend on keeping that aspect of her.

Both Stack Exchange API and Github API is available for Duga, together with all the normal things a bot can do.

Zomis avatar Jun 19 '15 00:06 Zomis

Posting an issue from a repository in chat would be nice. Command could possibly be "@Duga Display #600" (where Duga knows which repo based on the room) or "@Duga Display Rubberduck #600", where she knows which repo "Rubberduck" stands for.

Hosch250 avatar Jun 19 '15 00:06 Hosch250

@Duga pause [rubberduck-vba/rubberduck]

and

@Duga resume [rubberduck-vba/rubberduck]

respectively to, well, pause and resume feeds from a particular repository.

This would be useful to stop @Duga from flooding the chat with dozens of feeds. I'd expect the bot to respond with a ping to the requester saying something like

@Mat'sMug feeds paused for [rubberduck-vba/rubberduck]. ping me with `resume [rubberduck-vba/rubberduck]` to resume feeds for that repository.

and, in case we forget to resume, a timeout would be nice, like, auto-resume after 15 minutes maybe. then ping requester to notify when feeds are resuming:

@Mat'sMug resuming feeds for [rubberduck-vba/rubberduck] (42 events skipped).

retailcoder avatar Jun 19 '15 01:06 retailcoder

@Duga starcount [rubberduck-vba/rubberduck]

To which the bot responds with:

@Mat'sMug [rubberduck-vba/rubberduck] currently has 55 stargazers.

retailcoder avatar Jun 19 '15 01:06 retailcoder

I ping to compare SE users' reputation (like the daily feed at 25:45Z) would be useful, I think. Something like @Duga reputation 11111 22222 (where the numbers are the respective users' IDs), or @Duga reputation @Phrancis @Mat'sMug would be even cooler, but that might make it more difficult, what with character escapes and such.

Phrancis avatar Jun 19 '15 01:06 Phrancis

Related to what @Hosch250 wrote above, I think an "issue search" command would be nice as well, such as:

@Duga issue systems which would do the following github API call: https://api.github.com/search/issues?q=systems%20repo:Cardshifter/Cardshifter%20is:open

Zomis avatar Jun 19 '15 01:06 Zomis

@Duga IssueCount

No. of open & closed issues for repo.

@Duga Milestone [name] IssueCount

No. of open & closed issues filtered on milestone.

https://developer.github.com/v3/issues/

rubberduck203 avatar Jun 19 '15 01:06 rubberduck203

I like @retailcoder's syntax for specifying the repo btw.

rubberduck203 avatar Jun 19 '15 01:06 rubberduck203

Not sure if this has already been implemented, or suggested for that matter, but what about creating stored procedures that serve as "aliases" of sorts? For example:

@Duga create procedure command; ...;

Ethan-Bierlein avatar Jun 19 '15 02:06 Ethan-Bierlein

Improved site metrics would be cool, like

@Duga (meta.)codereview.se [unanswered | close_votes | reopen_votes | top_num_(rep(week  | month | year))]

The-Quill avatar Jun 19 '15 12:06 The-Quill

@Hosch250 Duga will have a command for searching or looking up an issue soon

@retailcoder I will implement another approach of muting Duga later, a general command to silence all Duga messages for a chat room. Also, I don't think there will be a stargazers command as it is very easy to see that on github.

@Phrancis How often do you remember people's user ids? :) Indeed it would be a bit more difficult with usernames, but perhaps at a later time.

@ckuhn203 open and closed issues for repo and for a milestone? Hmm... Not sure. Feels like Githubs approach is better there.

@ShearOfDoom Now you're just lazy!

@The-Quill I'm not sure how often that command would be invoked, and if it would be invoked too much it would be annoying. Perhaps include some more info in the daily _RELOAD_ though?

Zomis avatar Jun 23 '15 18:06 Zomis

@Duga remind @SimonForsberg http://chat.stackexchange.com/transcript/message/23940244#23940244

For the example above Duga would post two messages at a later time like the following.

@SimonForsberg Don't forget:
http://chat.stackexchange.com/transcript/message

Could take a specified time as argument or choose a reasonable time somehow. Maybe room activity could be used to figure out a good time?

Cardshifter TCG room activity

It would also be useful to be able to list scheduled remind commands and a way to cancel them in case of typos etc.

jacwah avatar Sep 07 '15 20:09 jacwah

A command to get the current state of @Duga would be helpful to check in which mode she is running or if she isn't running at all ( hence no response ).

Heslacher avatar Sep 30 '15 13:09 Heslacher

I know Duga is a tool and not a toy, but she's been taking abuse lately with this _INTERRUPT_ thing - it would be nice to see her reply with a random snarky comment when she gets interrupted at reload.

retailcoder avatar Sep 30 '15 13:09 retailcoder

Also, it would have been nice to have this mute command handy the other day when she had that little Alzheimer episode.

retailcoder avatar Sep 30 '15 13:09 retailcoder

I second the snarky reply to _INTERUPT_.

rubberduck203 avatar Sep 30 '15 14:09 rubberduck203

I agree with the mute command, but I'd prefer to just see _INTERRUPT_ stopped.

Hosch250 avatar Sep 30 '15 18:09 Hosch250

I also agree to the mute command. _INTERRUPTS_ will continue though. ;-)

Ethan-Bierlein avatar Sep 30 '15 23:09 Ethan-Bierlein