Using IRC without an IRC client doesn't seem very hard to me:

$ telnet irc.libera.chat 6667
Trying 2a01:270:0:666f::1...
Connected to irc.libera.chat.
Escape character is '^]'.
:lead.libera.chat NOTICE * :*** Checking Ident
:lead.libera.chat NOTICE * :*** Looking up your hostname...
:lead.libera.chat NOTICE * :*** Couldn't look up your hostname
:lead.libera.chat NOTICE * :*** No Ident response
user ircuser host.example.com irc.libera.chat :ircuser anon2317
nick anon2317
:lead.libera.chat 001 anon2317 :Welcome to the Libera.Chat Internet Relay Chat Network anon2317
...
:lead.libera.chat 376 anon2317 :End of /MOTD command.
:anon2317 MODE anon2317 :+iw
join #matrix
:anon2317!~ircuser@2800:[censored] JOIN #matrix
:lead.libera.chat 332 anon2317 #matrix :The Official Matrix HQ - chat about Matrix here! | https://matrix.org/docs/spec | To support Matrix.org development: https://patreon.com/matrixdotorg | Looking for hosting? Check out https://upcloud.com/matrix! | Code of Conduct: https://matrix.org/legal/code-of-conduct/ | This is an English speaking room |
:lead.libera.chat 366 anon2317 #matrix :End of /NAMES list.
privmsg matrix :hello, I am using IRC with telnet
:lead.libera.chat 401 anon2317 matrix :No such nick/channel
privmsg #matrix :hello, I am using IRC with telnet
privmsg #matrix :this is probably a little harder than using Matrix with cURL?
privmsg anon2317 :hello myself
:anon2317!~ircuser@2800:[censored] PRIVMSG anon2317 :hello myself
privmsg anon2317 :the #matrix channel seems a bit quiet
:anon2317!~ircuser@2800:[censored] PRIVMSG anon2317 :the #matrix channel seems a bit quiet
list -min 300
:lead.libera.chat 321 anon2317 Channel :Users Name
:lead.libera.chat NOTICE anon2317 :Invalid parameters for /LIST
:lead.libera.chat 323 anon2317 :End of /LIST
list -minusers 300
:lead.libera.chat 263 anon2317 LIST :This command could not be completed because it has been used recently, and is rate-limited.
:lead.libera.chat 323 anon2317 :End of /LIST
:dsrt^!~dsrt@[censored].hsd1.ga.comcast.net JOIN #matrix
mode #matrix
:lead.libera.chat 324 anon2317 #matrix +Cnt
:lead.libera.chat 329 anon2317 #matrix 1621432229
privmsg #matrix :hi dsrt^, how are you?
privmsg alis :help list
:alis!alis@services.libera.chat NOTICE anon2317 :***** alis Help *****
:alis!alis@services.libera.chat NOTICE anon2317 :
:alis!alis@services.libera.chat NOTICE anon2317 :Help for LIST:
:alis!alis@services.libera.chat NOTICE anon2317 :
:alis!alis@services.libera.chat NOTICE anon2317 :LIST gives a list of channels matching the
...
:milkt!~debian@gateway/tor-sasl/milkt QUIT :Remote host closed the connection
privmsg alis :list * -min 300
:alis!alis@services.libera.chat NOTICE anon2317 :Returning maximum of 64 channel names matching '*'
:alis!alis@services.libera.chat NOTICE anon2317 :##chat 445 :Welcome to ##chat, a social and offtopic channel for sensible conversations. Mind the language. | THIS IS A POLITICS-FREE ZONE! You have been warned. | Rules: https://pastebin.com/raw/ntTcx2xb | We reserve the right to remove annoying people | Free Speech: https://xkcd.com/1357/ | In case of PM spam, '/mode your_nick_here +R'
:alis!alis@services.libera.chat NOTICE anon2317 :##electronics 484 :http://electronicschat.org | Introductory electronics eBook: http://www.ibiblio.org/kuphaldt/electricCircuits/ | Battery information: http://batteryuniversity.com/ | Soldering: http://tinyurl.com/y8p8lfp9 | Welcome to electronics! | <HexaCube> maybe i can afford a beard implant soon | tawr> oh no, i just found out how dumb i am
...
join #chat
:lead.libera.chat 470 anon2317 #chat ##chat-overflow :Forwarding to another channel
:anon2317!~ircuser@2800:810:473:10f1:711f:4bae:293e:3a03 JOIN ##chat-overflow
:lead.libera.chat 332 anon2317 ##chat-overflow :If you find yourself here trying to join ##chat, please identify and try joining ##chat again (reference '/msg nickserv help identify' and/or '/msg nickserv help register' for assistance). This is to help curtail spam, we apologize for the inconvenience | SASL is preferred https://libera.chat/guides/sasl
...
part ##chat-overflow
:anon2317!~ircuser@2800:810:473:10f1:711f:4bae:293e:3a03 PART ##chat-overflow
join ##electronics
:lead.libera.chat 477 anon2317 ##electronics :Cannot join channel (+r) - you need to be logged into your NickServ account
join #c
:anon2317!~ircuser@2800:810:473:10f1:711f:4bae:293e:3a03 JOIN #c
:lead.libera.chat 332 anon2317 #c :C Programming Community | Paste (>3 lines): https://bpa.st/ or http://sprunge.us/ | Wiki: http://www.iso-9899.info/ | Books: http://www.iso-9899.info/wiki/Books | C2X Charter: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2086.htm | Standard: http://iso-9899.info/wiki/The_Standard | Off-topic: #c-offtopic | C11 trivia game: #c-jeopardy
:lead.libera.chat 333 anon2317 #c pragma- 1634682891
...
:lead.libera.chat 366 anon2317 #c :End of /NAMES list.
privmsg #c :hi there. I wrote this Karplus-Strong string-instrument synthesizer in one line of C: s[72]={512};main(i){for(;;i%=72)s[i]+=s[(i+1)%72],putchar(s[i++]/=2);}
privmsg #c :is this valid in ANSI C?:twkm!twkm@rfc1459.net PRIVMSG #c :wow, 1 line!

privmsg #c :You can pipe :sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :i think i got it .... cmake -DWIN32=1
its output to aplay on Linux
:twkm!twkm@rfc1459.net PRIVMSG #c :not i.
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :.. /usr/bin/x86_64-w64-mingw32-ld: cannot find -ldl ?
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c ::(
:twkm!twkm@rfc1459.net PRIVMSG #c :you might need to compile it, or install it.
:progandy!~progandy@user/progandy JOIN #matrix
PING :lead.libera.chat
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :twkm: can you help me fix the error i posted above?
PONG :lead.libera.chat
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :i am trying to cross compile on linux to create a windows static library
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :using mingw ... but it looks like it's trying to use the linux dl library
privmsg #c :hmm, that sounds like it won't work :)
privmsg #c :I don't have any experience getting CMake to use mingw
:Viscometer!quassel@gateway/vpn/airvpn/viscometer JOIN #matrix
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :i am going to hate having to setup a windows computer to get this to build
privmsg #c :hmm, has nobody really ever gotten CMake to cross-compile things?
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :sure they have i am sure
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :the glfw even has a mention of it
:sysRPL!~sysRPL@[censored].res.spectrum.com PRIVMSG #c :unfortunately it's just a mention, not a guide

It's a little verbose, but the only really tricky part is that you need to answer pings within four minutes or you ping out, and other people's messages may appear in the middle of the line you're typing. (It's helpful to know that ^R redraws the line. Better still, use Emacs shell-mode.) And you need to know the USER and NICK commands, and type or paste them before the server times you out. Oh, and if you leave out the colon, only the first word of your message gets through, which is pretty confusing to figure out if you don't have another client on the same channel.

What does it look like to have a Matrix conversation with curl in a terminal?