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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions