Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help on adding circe support to eev #355

Open
edrx opened this issue Aug 31, 2019 · 1 comment
Open

Help on adding circe support to eev #355

edrx opened this issue Aug 31, 2019 · 1 comment

Comments

@edrx
Copy link

edrx commented Aug 31, 2019

Is it ok to ask for help here?

I am trying to add circe support to eev. Eev already has support for rcirc - tersely described here: http://angg.twu.net/eev-intros/find-rcirc-intro.html - and I've been using it successfully in workshops, but in some situations rcirc doesn't work because it doesn't have SASL authentication... I think that the best solution would be to add circe support to eev now, and then work with the rcirc maintainers over the next months to add SASL authentication to it.

I only need help to create the functions with the skeletons below. I spent the last hours reading circe.el, and I didn't see any elegant way of testing if we're already connected to Freenode and reusing the existing connection instead of creating a second one...

(defun ee-circe-connect-server (irc-network-or-server)
  "Connect to IRC-NETWORK-OR-SERVER, or reuse an existing connection.
Return the buffer name of the server buffer."
  )

(defun ee-circe-connect-channel (irc-network-or-server channel)
  "Connect to the channel CHANNEL in IRC-NETWORK-OR-SERVER.
Reuse an existing connection if possible. CHANNEL should be a
string like \"#emacs\" for a standard channel or like \"fsbot\"
for a query channel. This function returns the buffer name of the
channel buffer."
  )

Thanks in advance!...
Eduardo Ochs
http://angg.twu.net/#eev

@wasamasa
Copy link
Collaborator

rcirc does have SASL support these days, so I guess this can be closed.

Circe's notion of a connection is the server buffer, which is made current before using several functions. There isn't really an elegant solution to map a network/channel name to a buffer, therefore it's necessary to iterate over all buffers, skip those that don't have the expected major mode and query the rest for the expected network/channel name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants