Twitch SDK (Internal)
ircstring.h
Go to the documentation of this file.
1 /********************************************************************************************
2 * Twitch Broadcasting SDK
3 *
4 * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5 * may not be copied or used except in accordance with the terms of that agreement
6 * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7 *********************************************************************************************/
8 
9 #pragma once
10 
12 
13 namespace ttv
14 {
15  namespace chat
16  {
17  int IrcStringGetWord(char* dst, const char* src, int maxLen, const char** ppEnd);
18  const char* IrcStringSkipSpaces(const char* psz);
19 
20  bool IsChannelString(const std::string& channel);
21  std::string GetPrefixNick(const std::string& prefix);
22  std::string GetPrefixHost(const std::string& prefix);
23  std::string GetPrefixIdent(const std::string& prefix);
24  std::string StripNickModes(const std::string& nick, const std::string& modeChars);
25  std::string StripNickModesAndInvalidChars(const std::string& nick, const std::string& modeChars);
26  bool NickHasMode(const std::string& nick, char mode);
27 
28  bool IsTwitchChatUrl(const std::string& url);
29 
30  bool IsSimpleWordCharacter(char ch);
31  std::string GetWord(const std::string& str, uint32_t start, bool getRest, uint32_t& end);
32  std::string ReplaceSubstring(const std::string& source, const std::string& target, const std::string& with);
33 
38  std::string UnescapeMessageTag(const std::string& escapedMessageTag);
39 
40  inline bool Compare(const std::string& one, const std::string& two, bool caseSensitive)
41  {
42  return caseSensitive ? (one == two) : (strcmp(one.c_str(), two.c_str()) == 0);
43  }
44 
45  inline bool IsSlashCommandMessage(const std::string& message)
46  {
47  return message.size() > 0 && message[0] == '/';
48  }
49  }
50 }
std::string GetPrefixIdent(const std::string &prefix)
std::string GetWord(const std::string &str, uint32_t start, bool getRest, uint32_t &end)
bool IsSlashCommandMessage(const std::string &message)
Definition: ircstring.h:45
bool NickHasMode(const std::string &nick, char mode)
bool IsSimpleWordCharacter(char ch)
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
std::string ReplaceSubstring(const std::string &source, const std::string &target, const std::string &with)
bool IsChannelString(const std::string &channel)
bool IsTwitchChatUrl(const std::string &url)
std::string GetPrefixHost(const std::string &prefix)
const char * IrcStringSkipSpaces(const char *psz)
std::string StripNickModesAndInvalidChars(const std::string &nick, const std::string &modeChars)
int IrcStringGetWord(char *dst, const char *src, int maxLen, const char **ppEnd)
std::string UnescapeMessageTag(const std::string &escapedMessageTag)
bool Compare(const std::string &one, const std::string &two, bool caseSensitive)
Definition: ircstring.h:40
std::string GetPrefixNick(const std::string &prefix)
std::string StripNickModes(const std::string &nick, const std::string &modeChars)