Code Monkey home page Code Monkey logo

Comments (3)

Krinkle avatar Krinkle commented on July 19, 2024
# Monday, July 5th, 2021

06:06 ⇐ •cvn-clerkbot quit (~cvn-clerk@cvn/bot/cvn-clerkbot) *.net *.split
06:06 → cvn-clerkbot joined ([email protected])

06:11 cvn-clerkbot → Guest7260

19:35 ⇐ Guest7260 quit ([email protected]) *.net *.split
19:39 → Guest7260 joined ([email protected])

# Saturday, July 10th, 2021

16:08 Krinkle: !quit
16:08 ⇐ Guest7260 quit ([email protected]) Quit: Ordered by Krinkle
16:10 → cvn-clerkbot joined (~cvn-clerk@cvn/bot/cvn-clerkbot)

cvn-clerkbot, which uses python-twisted for IRC, lost its nick name again and did not self-correct in any way. Alternatives to consider:

Things to consider:

  • Message buffering to avoid flood kick.
  • Message splitting against maxlength.
  • Connect and authenticate with NickServ, then join channels.
  • Automatic re-authenticate and nick regaining/ghosting as-needed to deal with net splits, plus re-joining of channels to deal with restricted channels that can only be joined when authenticated.

See also EventSource as used by Pywikibot, which has an example of good error handling as part of the loop.

Ref https://github.com/wikimedia/pywikibot/blob/2b8402a66e28ae4be30f74deb9e4e72ac529ef69/pywikibot/comms/eventstreams.py#L288-L303

from labs-countervandalism-cvnbot.

legoktm avatar legoktm commented on July 19, 2024

Message buffering to avoid flood kick.

irc3 doesn't have this, we implemented it manually in wikibugs. I briefly searched the limnoria docs and didn't see anything obvious either (their flood stuff is about users flooding with !commands).

I do wonder if this is something that can be handled on the network side, getting some sort of higher flood limit or exemption.

Message splitting against maxlength.

Isn't this a think that should be done by the client, so that colors and whatnot are properly split or truncated? wikibugs has manual truncation logic that selects which projects should be listed when announcing a task, cutting off less important ones.

Connect and authenticate with NickServ, then join channels.

All 3 libraries support SASL, so this shouldn't ever be an issue.

Automatic re-authenticate and nick regaining/ghosting as-needed to deal with net splits, plus re-joining of channels to deal with restricted channels that can only be joined when authenticated.

We never did this for wikibugs, ib3 has mixins for this, appears limnoria does too. SASL should ensure that you're always authenticated when trying to join channels.

from labs-countervandalism-cvnbot.

Krinkle avatar Krinkle commented on July 19, 2024

Moved to https://phabricator.wikimedia.org/T327136.

from labs-countervandalism-cvnbot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.