Coder Social home page Coder Social logo

libtwirc's Introduction

libtwirc's People

Contributors

domsson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

libtwirc's Issues

Use the user's channel instead of #jtv for whisper and color commands

Currently, we are using the #jtv channel to send whispers and change color, as these commands are mostly channel-independent. However, this seems to be a historical thing to do that is somewhat outdated. BarryCarlyon from discuss.dev.twitch.tv adviced to simply use the bot's / user's own channel for these things, which sounds like a great idea.

More than that, let's change these commands so they do accept a channel, but make the argument optional (can hand in NULL). If NULL is provided, we use the user's channel.

twirc_tag_t's value should be empty string instead of NULL

For key-only tags, twirc_tag_t's value member will be NULL. This is not exactly intuitive and also makes user code more complicated, as it makes for one additional null-check. Instead, key-only tags should have an empty string as value.

Windows version

Would be nice. Currently using this by running code under WSL, and then forwarding results onto a Windows program on host machine via sockets, which is... suboptimal.

IPv6 support - does it work? Implement if so?

Currently, we're using IPv4 (hardcoded). Does Twitch support IPv6? Does our code actually work with IPv6? If both are true, we should implement an option for the user to use it, if they want. One option would be to have another connection function, twirc_connect6(), like libircclient does. Another option would be an optional parameter to the connect function. A third option would be to implement a way in which the user can set certain options before actually establishing a connection (again, libircclient does this with something like irc_set_option() or similar).

Create and run unit-tests

Seeing how this is a library intended for everyone to use, we really should write and run some unit tests. Segfaulting in private projects is one thing, causing them in other people's code is kind of embarrassing.

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.