tiny icon indicating copy to clipboard operation
tiny copied to clipboard

Implemented DCC get for downloading files.

Open trevarj opened this issue 5 years ago • 6 comments

Implement downloading DCC files. A user sends you a DCC SEND request to send you a file, and then you can reply back and download the file.

*Does not yet support sending files or DCC CHAT (direct chatting with other user).

Overview:

  1. Server/Users sends a DCC CTCP message to us.
  2. The tiny client parses the message into a DCCRecord and store it in the client state.
  3. The tiny client tells us that we have a DCC file waiting, and shows us the command to accept and start the download.
  4. The download is stored in the configured directory. download_dir under Defaults
  5. Done.

Gif of it in action: tiny-dcc

Closes #206

trevarj avatar Jun 12 '20 13:06 trevarj

There's only one server that I know that uses this and it's the one referenced in #206.

Basically, you just go on there and send a command to search. The bot messages you privately and sends you a DCC SEND, which Tiny will pick up and store in the DCC Cache. It also helpfully prints out the command to use to download the file. Once the download is complete you get a notice in the shared server tab between you and the sender (in this case Irchighway's tab).

The download directory is configurable in config.yml.

image

trevarj avatar Jun 12 '20 14:06 trevarj

Are there any blockers that prevent merging this?

Kabouik avatar Sep 11 '21 20:09 Kabouik

@trevarj let me know if this is ready (as in it works and is complete) and has no unrelated changes, I can review this after #344.

As discussed before on IRC, a PR description with summary of the changes (both high level and in implementation) would be helpful.

osa1 avatar Sep 12 '21 06:09 osa1

@osa1 this one actually might be farther along than #344. I updated the description and added a gif so you can see how it works.

trevarj avatar Sep 12 '21 08:09 trevarj

Could this be made optional for those that want to ignore DCC CTCP?

travankor avatar Sep 13 '21 09:09 travankor

Could this be made optional for those that want to ignore DCC CTCP?

I can feature-gate this, if that makes more sense. @osa1 can make the final decision

trevarj avatar Sep 13 '21 09:09 trevarj