Skip to content

Topic Management #9

@edunham

Description

@edunham

Moved from hamperbot/hamper#60


For channels where Hamper has permissions, it would be nice to use him to automate channel setting and modification. Since topics are often a rather long list of links and things separated by some symbol like :: or |, perhaps we could talk to it like a list:

--- | Topic for #osu-lug is: OSU 
          Linux Users Group :: lug.oregonstate.edu 
          updated! :: Meetings Tuesdays 6PM KEC1005 :: 
          see #osu-lug-admin for bureaucracy :: CHOVDA 
          from 11-1 on Fridays, come when you can make 
          it


!topic replace topic[1] our site is lug.oregonstate.edu

--- | Topic for #osu-lug is: OSU 
          Linux Users Group :: our site is lug.oregonstate.edu 
           :: Meetings Tuesdays 6PM KEC1005 :: 
          see #osu-lug-admin for bureaucracy :: CHOVDA 
          from 11-1 on Fridays, come when you can make 
          it

!topic add yay Linux!

--- | Topic for #osu-lug is: OSU 
          Linux Users Group :: our site is lug.oregonstate.edu 
           :: Meetings Tuesdays 6PM KEC1005 :: 
          see #osu-lug-admin for bureaucracy :: CHOVDA 
          from 11-1 on Fridays, come when you can make 
          it :: yay Linux!

This would tie in with the ACL system to determine who can do things to a given channel's topic.

Proposed flags for !topic:

  • replace
    • changes the thing at to
  • clear
    • Deletes the entire topic
  • set
    • Overwrites entire topic with
  • append
    • appends to end of topic, after a separator
  • delete
    • removes the thing at from the topic and deletes the extra separator

Clear doesn't sound that useful. Did you have a use case in mind for it?

Instead of !topic replace topic[1] foo, I think it should probably be !topic replace 1 foo. That is minor though.

Other thoughts: topics have a maximum size, both a hard technical limitation, and a soft human limitation (at some point it is just too long to read). What happens if you we go over those limits? Is there a maximum number of fields?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions