Commit Graph

47 Commits

Author SHA1 Message Date
olafyang 21d4b2cacc add "/shoutout" command (#4638)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-20 16:32:06 +00:00
nerix ce47d27d41 Refactor/Cleanup NetworkRequest and Related Code (#4633)
Cleanup unused code (Twitch v5)
Add json methods that simplify sending JSON. This also sets the Accepts header, since here, when JSON is sent, only JSON is accepted as a response (this is only done in Helix).
Clarify helix request creations
Cleaned some clang-tidy suggestions in Network{Request,Private}
2023-05-16 17:28:20 +02:00
nerix 4dd290e4e5 🛡 Add /shield and /shieldoff 🛡 (#4580)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-07 10:52:05 +00:00
Zonian d6ef48d4ef Migrate Twitch badges to Helix (#4537)
Co-authored-by: iProdigy <8106344+iProdigy@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-16 09:58:45 +00:00
pajlada 18cb4bd6e5 Massage includes some more (#4294)
* Add `<functional>` include to QStringHash.hpp

This ensures the base `std::hash` template is declared before this
specialization

* Add missing includes to `src/providers/twitch/TwitchAccountManager.hpp`

* Move explicit HelixChatters constructor to the source file

* Remove unused includes & add used includes to NicknamesModel.hpp

* NicknamesModel.hpp: Remove `virtual` when `override` is used

* Add missing QStringHash include to TwitchEmotes.cpp

* Add missing includes to various files

* Print Qt version in cmake step

Technically unrelated, but I'm sneaking it in

* Add changelog entry
2023-01-08 12:07:06 +00:00
nerix 1043f9f803 Remove Unnecessary Includes in Headers (#4275)
* refactor: remove unnecessary includes in headers

* fix: formatting

* chore: changelog

* fix: scrollbar

* fix: suggestions and old appbase remains

* fix: suggestion

* fix: missing Qt forward declarations

* fix: another qt include

* fix: includes for precompiled-headers=off

* Add missing `<memory>` includes

* Add missing `#pragma once`

* Fix tests

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-31 14:41:01 +00:00
pajlada 032f290767 Sort and force grouping of includes (#4172)
This change enforces strict include grouping using IncludeCategories

In addition to adding this to the .clang-format file and applying it in the tests/src and src directories, I also did the following small changes:

    In ChatterSet.hpp, I changed lrucache to a <>include
    In Irc2.hpp, I change common/SignalVector.hpp to a "project-include"
    In AttachedWindow.cpp, NativeMessaging.cpp, WindowsHelper.hpp, BaseWindow.cpp, and StreamerMode.cpp, I disabled clang-format for the windows-includes
    In WindowDescriptors.hpp, I added the missing vector include. It was previously not needed because the include was handled by another file that was previously included first.
    clang-format minimum version has been bumped, so Ubuntu version used in the check-formatting job has been bumped to 22.04 (which is the latest LTS)
2022-11-27 19:32:53 +01:00
nerix 9fba0bd4ab fix: /ban messages for self/mod bans (#4164) 2022-11-19 13:34:07 +00:00
xel86 46cdb89498 Allow Commercial API endpoint to handle commercial lengths (#4141) 2022-11-12 00:17:50 +01:00
pajlada 2ec26f57cc Fix chatters recursion not working (#4114) 2022-11-05 11:56:17 +00:00
Colton Clemmer e531161c7f Migrate /mods command to helix API (#4103)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-05 11:20:12 +00:00
xel86 f00f766eeb Migrate /commercial command to the Helix API (#4094)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-05 09:43:31 +00:00
Colton Clemmer 495f3ed4a9 Migrate /chatters commands to use Helix api (#4088)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-01 22:18:57 +00:00
James Upjohn ceecc7ef91 chore: migrate /vips command to Helix call (#4053)
* feat(helix): create response model for VIP listing

* feat(helix): stub out channel/vips request + handler

* feat(helix): parse VIPs list from data and pass to callback

* feat(helix): handle errors when getting VIP list then pass to callback

* feat(command): add barebones handler for helix-based /vips

* feat(command): provide better /vips output when user is not broadcaster

* chore(format): bulk reformat with clang-format

* chore(changelog): add entry for /vips Helix migration

* fix(helix): use correct method when calling VIP list endpoint

* fix(helix): use correct VIP list endpoint

* chore(tidy): please clang-tidy by marking parameter as unused

* feat(command): display unsorted VIP list returned from Helix API

* feat(settings): clone raid timegate settings for /vips

* feat(command): check /vips timegate setting before execution

* feat(command): handle 0 VIPs from Helix response

* feat(command): sort users alphabetically from Helix VIPs response

* fix(command): highlight users in Helix /vips output to match IRC

* fix(command): replace dynamic /vips error message with hardcoded string

* chore(comment): remove TODO comment that was DONE

* chore(format): bulk reformat using clang-format

* fix(command): send 0 VIP message after creation

* chore: apply suggestions from Felanbird

* fix(helix): change mention of user ban to VIPs in VIP list error message

* feat(helix): distinguish non-broadcaster auth error when getting VIPs

* chore(command): move handling of non-broadcaster /vips usage to API response

* chore(format): re-indent multiline string to get away from 80 char limit

* reformat

* fix tests

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-10 12:56:55 +02:00
Marko 29272e130a Migrate /unraid to Helix. (#4030)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-08 12:10:38 +00:00
nerix 974a8f11b7 Migrate /w to Helix API (#4052) 2022-10-08 13:11:55 +02:00
nerix 874ef64216 Migrate /ban and /timeout to Helix API (#4049) 2022-10-06 23:52:25 +02:00
nerix 25bccc90b4 Migrate Remaining Chat Settings Commands to Helix API (#4040) 2022-10-03 19:42:02 +02:00
nerix 54129f76a3 Migrate /emoteonly and /emoteonlyoff commands to the Helix API (#4015)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-02 14:18:10 +00:00
Marko f8f9903892 Migrate /raid to Helix. (#4029)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-02 15:27:55 +02:00
Aiden a275a1793a Migrate /unban and /untimeout to Helix API (#4026)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-01 15:10:06 +00:00
Aiden adbc4690af Migrate /unvip to Helix API (#4025)
Co-authored-by: iProdigy <iProdigy@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-01 14:00:45 +00:00
Aiden ced1525e75 Migrate /vip to Helix API (#4010)
Fixes #3983 

Co-authored-by: iProdigy <iProdigy@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-09-25 09:45:46 +00:00
Mm2PL 8bda8a8b26 Migrate /announce command to Helix API. (#4003)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-09-24 17:50:02 +02:00
Aiden 1c97b3d094 Migrate /unmod command to Helix API (#4001)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-09-24 10:49:13 +00:00
Aiden 28de3e637d Migrate /mod command to Helix API (#4000)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-09-23 16:12:34 +00:00
Aiden 6e7b4d8ec7 Migrate /clear command to Helix API (#3994)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-09-18 11:19:22 +00:00
pajlada 4f1976b1be Migrate /color command to Helix API (#3988) 2022-09-16 21:15:28 +00:00
matt d29243a2a5 Removed total views from the usercard (#3792) 2022-06-05 20:51:18 +00:00
Kasia 74ec310228 Fixed channels not being set as offline (#3767) 2022-05-28 18:10:10 +00:00
pajlada 6bb96f128b Make Helix an interface (#3756) 2022-05-22 10:11:33 +00:00
Sidd 870aa74427 Use login name for NotificationController lookup (#3648)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-04-06 21:10:22 +00:00
Paweł 0c5abb8149 Deprecated /(un)follow commands and respective usercard action (#3078)
/(un)follow commands are marked as deprecated and link to the issue this PR is closing.
follow button on the usercard is removed completely

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2021-08-04 20:41:27 +00:00
Paweł d5add46730 Respect follower emotes context, making them only available in their owner channels (#2951)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-11 09:12:49 +00:00
Paweł 002129009d Fix emotesets not loading properly (#2905)
* Initial work

fk I'm so tired...

* Updated Twitch API documentation

* Futher changes

* Removed debug output

* Added changelog entry

* Advice: don't code at 4am

removed all silly debug stuff

* Add missing lambda capture
2021-06-24 21:23:31 +00:00
Paweł 519855d852 Migrated cheermotes to Helix API (#2440)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-15 17:02:47 +00:00
Paweł e746201c4f Refactored and Migrated to Helix AutoMod message management (#2779)
This uses new Helix endpoint which requires new scopes and users need to reauthenticate to approve/deny AutoMod messages again.
2021-05-14 13:14:43 +02:00
Yoitsu a448af5f57 Implement Helix Search Categories end-point & update /setgame (#2609)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 23:34:27 +00:00
Mm2PL f9246a9e3a Add /setgame and /settitle (#2534)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-04 17:31:08 +02:00
Paweł 7d9f4c2b0c Migrated block, unblock and get user block list methods to Helix (#2370)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-02-14 14:01:13 +01:00
Paweł 278a00a700 Implement /marker command (#2360)
This command works the same as it does on Twitch web chat - it creates a streamer marker at the current timestamp with an optional description
2021-01-30 15:39:01 +01:00
Paweł 857705668e Migrated getChannel to Helix (#2381)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-01-21 13:48:48 +01:00
Paweł cfcac99ae6 Added clip creation support 🎬 (#2271)
You can create clips with `/clip` command, `Alt+X` keybind or `Create a clip` option in split header's context menu. This requires a new authentication scope so re-authentication will be required to use it.

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-17 14:47:34 +01:00
pajlada 0e66b17ff0 Add Network tests (#2304)
Also changes the way timeouts happen, since right now if a timeout was met (which it mostly wasn't), it would run the error callback twice causing potentially undefined behaviour
2020-12-26 12:42:39 +01:00
Paweł 2f5df3db4a Migrated follow and unfollow methods to Helix API (#2306) 2020-12-22 09:55:58 +01:00
Paweł cfa9e5903e Migrated Kraken's getUser to Helix (#2260) 2020-12-06 19:41:52 +01:00
pajlada 9a8b85e338 Twitch API: v5 to Helix migration (#1560)
There's a document in src/providers/twitch/api which describes how we interact with the Twitch API.
Keeping this up to date might be a healthy way for us to ensure we keep using the right APIs for the right job.
2020-03-14 12:13:57 +01:00