Chat client for https://twitch.tv
Find a file
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
.CI Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
.github Remove comment suggesting Build Qt is a Linux only build step (#3955) 2022-09-08 21:19:13 +02:00
benchmarks Rewrite & optimize LimitedQueue (#3798) 2022-06-18 10:44:48 +00:00
cmake Add the ability to skip generation of git and date data (#3800) 2022-06-05 14:44:20 +00:00
docs Add basic benchmark (#3038) 2021-08-08 14:16:30 +02:00
lib Bump lib/magic_enum from 4802f79 to f4ebb4f (#3916) 2022-08-11 22:14:19 +00:00
resources Added Explooosion to contributors list (#3948) 2022-09-04 18:48:35 +00:00
src chore: migrate /vips command to Helix call (#4053) 2022-10-10 12:56:55 +02:00
tests chore: migrate /vips command to Helix call (#4053) 2022-10-10 12:56:55 +02:00
tools Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
.cirrus.yml Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
.clang-tidy Ignore cert-err58-cpp clang-tidy warning (#4008) 2022-09-24 12:50:28 +00:00
.gitattributes Add .gitattributes file to normalize line endings 2019-09-08 22:01:12 +02:00
.gitignore docs: add CLion debugging info (#3954) 2022-09-08 21:18:32 +02:00
.gitmodules Build GoogleTest & GoogleMock as submodules (#3760) 2022-05-22 15:43:41 +02:00
.prettierignore Add custom hotkeys. (#2340) 2021-11-21 17:46:21 +00:00
.prettierrc.toml Add lint github action (#2473) 2021-02-21 14:45:42 +01:00
BUILDING_ON_FREEBSD.md Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
BUILDING_ON_LINUX.md Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
BUILDING_ON_MAC.md Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
BUILDING_ON_WINDOWS.md docs: add CLion debugging info (#3954) 2022-09-08 21:18:32 +02:00
BUILDING_ON_WINDOWS_WITH_VCPKG.md Add guide for building chatterino2 on Windows with vcpkg (#3634) 2022-05-15 15:57:31 +00:00
CHANGELOG.md chore: migrate /vips command to Helix call (#4053) 2022-10-10 12:56:55 +02:00
CMakeLists.txt fix: set gtest_force_shared_crt in tests (#4033) 2022-10-01 18:46:59 +00:00
conanfile.txt Remove official support for QMake (#3839) 2022-07-23 14:04:29 +02:00
CONTRIBUTING.md Update Conventions examples in Contributing.md (#3538) 2022-01-22 19:36:53 +00:00
LICENSE Add LICENSE file (#130) 2017-10-13 21:57:43 +02:00
README.md Updated link to VCRedist in README (#3749) 2022-05-22 09:36:03 +00:00
vcpkg.json Add missing boost-circular-buffer dependency to vcpkg (#3941) 2022-08-29 17:16:08 +00:00

alt text Chatterino 2 GitHub Actions Build (Windows, Ubuntu, MacOS) Cirrus CI Build (FreeBSD only) Chocolatey Package Flatpak Package

Chatterino 2 is a chat client for Twitch.tv. The Chatterino 2 wiki can be found here. Contribution guidelines can be found here.

Download

Current releases are available at https://chatterino.com. Windows users can also install Chatterino from Chocolatey.

Nightly build

You can download the latest Chatterino 2 build over here

You might also need to install the VC++ Redistributables from Microsoft if you do not have it installed already.
If you still receive an error about MSVCR120.dll missing, then you should install the VC++ 2013 Restributable.

Building

To get source code with required submodules run:

git clone --recurse-submodules https://github.com/Chatterino/chatterino2.git

or

git clone https://github.com/Chatterino/chatterino2.git
cd chatterino2
git submodule update --init --recursive

Building on Windows

Building on Windows with vcpkg

Building on Linux

Building on Mac

Building on FreeBSD

Code style

The code is formatted using clang format in Qt Creator. .clang-format contains the style file for clang format.

Get it automated with QT Creator + Beautifier + Clang Format

  1. Download LLVM: https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/LLVM-11.0.0-win64.exe
  2. During the installation, make sure to add it to your path
  3. In QT Creator, select Help > About Plugins > C++ > Beautifier to enable the plugin
  4. Restart QT Creator
  5. Select Tools > Options > Beautifier
  6. Under General select Tool: ClangFormat and enable Automatic Formatting on File Save
  7. Under Clang Format select Use predefined style: File and Fallback style: None

Qt creator should now format the documents when saving it.

Doxygen

Doxygen is used to generate project information daily and is available here.