-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmTwitch.DisplayName.mrc
58 lines (54 loc) · 2.01 KB
/
mTwitch.DisplayName.mrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#mTwitch.DisplayName.Localization on
#mTwitch.DisplayName.Localization end
alias mTwitch.has.DisplayName {
return 0000.0000.0011
}
alias mTwitch.Localization {
var %state = $group(#mTwitch.DisplayName.Localization)
if ($isid) {
if ($group(#mTwitch.DisplayName.Localization) == on) {
return $true
}
return $false
}
if (!$0) {
echo -a [mTwitch] Display Name localization is $group(#mTwitch.DisplayName.Localization)
}
elseif ($1 == on || $1 == enable) {
.enable #mTwitch.DisplayName.Localization
}
elseif ($1 == off || $1 == disable) {
.disable #mTwitch.DisplayName.localization
}
elseif ($1 == toggle) {
$iif(%state == on, .disable, .enable) #mTwitch.DisplayName.localization
}
else {
echo -a [mTwitch] /mTwitch.Localization: invalid parameters.
}
}
on *:CONNECT:{
if ($mTwitch.isServer) {
JSONOpen -uw mTwitch_NameFix https://api.twitch.tv/kraken/users?login= $+ $mTwitch.UrlEncode($me)
JSONHttpHeader mTwitch_NameFix Client-ID e8e68mu4x2sxsewuw6w82wpfuyprrdx
JSONHttpHeader mTwitch_NameFix Accept application/vnd.twitchtv.v5+json
JSONHttpFetch mTwitch_NameFix
if (!$JSONError) {
var %dnick = $remove($JSON(mTwitch_NameFix, users, 0, display_name).value, $chr(32), $cr, $lf)
if ($mTwitch.localization || !$regex(%dnick, [\x80-\xFF])) && (%dnick !== $null && %dnick !=== $me) {
.parseline -iqt $+(:, $me, !, $me, @, $me, .tmi.twitch.tv) NICK $+(:, %dnick)
}
}
JSONClose mTwitch_NameFix
}
}
on $*:PARSELINE:in:/^(@\S+) \x3A([^!@\s]+)(![^@\s]+@\S+ PRIVMSG \x23?\S+ \x3A.*)$/:{
var %tags = $regml(1), %nick = $regml(2), %param = $regml(3), %dnick
if ($mTwitch.isServer) {
%dnick = $remove($mTwitch.MsgTags(%tags, display-name), $chr(32), $cr, $lf)
if ($mTwitch.localization || !$regex(%dnick, [\x80-\xFF])) && (%dnick !== $null && %dnick !=== %nick) {
%tags = %tags $+ $chr(59) $+ user-name= $+ %nick
.parseline -it %tags $+(:, %dnick, %param)
}
}
}