Bla, removed fmt() and bla bla
This commit is contained in:
parent
b0dafcfef9
commit
8755e58c4e
|
@ -7,7 +7,6 @@ from irc3.plugins.command import command
|
||||||
from irc3.utils import IrcString
|
from irc3.utils import IrcString
|
||||||
|
|
||||||
from . import Plugin
|
from . import Plugin
|
||||||
from ..utils import fmt
|
|
||||||
|
|
||||||
|
|
||||||
@irc3.plugin
|
@irc3.plugin
|
||||||
|
@ -22,8 +21,8 @@ class Bitcoin(Plugin):
|
||||||
"""
|
"""
|
||||||
data = requests.get('https://www.bitstamp.net/api/ticker').json()
|
data = requests.get('https://www.bitstamp.net/api/ticker').json()
|
||||||
values = {k: float(data[k]) for k in ['last', 'high', 'low', 'volume']}
|
values = {k: float(data[k]) for k in ['last', 'high', 'low', 'volume']}
|
||||||
return fmt('{bold}[BitStamp]{reset} '
|
return '\x02[BitStamp]\x0F ' \
|
||||||
'Current: {bold}{color}{orange}${last:,.2f}{reset} - '
|
'Current: \x02\x037${last:,.2f}\x0F - ' \
|
||||||
'High: {bold}{color}{green}${high:,.2f}{reset} - '
|
'High: \x02\x033${high:,.2f}\x0F - ' \
|
||||||
'Low: {bold}{color}{maroon}${low:,.2f}{reset} - '
|
'Low: \x02\x035${low:,.2f}\x0F - ' \
|
||||||
'Volume: {bold}฿{volume:,.2f}', **values)
|
'Volume: \x02฿{volume:,.2f}'.format(**values)
|
||||||
|
|
|
@ -7,7 +7,6 @@ from irc3.plugins.command import command
|
||||||
from irc3.utils import IrcString
|
from irc3.utils import IrcString
|
||||||
|
|
||||||
from . import Plugin
|
from . import Plugin
|
||||||
from ..utils import fmt
|
|
||||||
|
|
||||||
|
|
||||||
@irc3.plugin
|
@irc3.plugin
|
||||||
|
@ -27,10 +26,11 @@ class CTCP(Plugin):
|
||||||
reply = 'Error: {reply}'.format(reply=ctcp['reply'])
|
reply = 'Error: {reply}'.format(reply=ctcp['reply'])
|
||||||
else:
|
else:
|
||||||
reply = ctcp['reply']
|
reply = ctcp['reply']
|
||||||
return fmt('{bold}[{ctcp}]{reset} {nick}: {reply}',
|
return '\x02[{ctcp}]\x0F {nick}: {reply}'.format(
|
||||||
ctcp=name,
|
ctcp=name,
|
||||||
nick=nick,
|
nick=nick,
|
||||||
reply=reply)
|
reply=reply,
|
||||||
|
)
|
||||||
|
|
||||||
@command
|
@command
|
||||||
async def ping(self, mask: IrcString, channel: IrcString,
|
async def ping(self, mask: IrcString, channel: IrcString,
|
||||||
|
@ -54,7 +54,7 @@ class CTCP(Plugin):
|
||||||
else:
|
else:
|
||||||
unit = 's'
|
unit = 's'
|
||||||
reply = '{delta:.3f} {unit}'.format(unit=unit, delta=delta)
|
reply = '{delta:.3f} {unit}'.format(unit=unit, delta=delta)
|
||||||
return fmt('{bold}[PING]{reset} {nick}: {text}', nick=nick, text=reply)
|
return '\x02[PING]\x0F {nick}: {text}'.format(nick=nick, text=reply)
|
||||||
|
|
||||||
@command
|
@command
|
||||||
async def finger(self, mask: IrcString, channel: IrcString,
|
async def finger(self, mask: IrcString, channel: IrcString,
|
||||||
|
|
|
@ -5,7 +5,6 @@ from irc3.plugins.command import command
|
||||||
from irc3.utils import IrcString
|
from irc3.utils import IrcString
|
||||||
|
|
||||||
from . import Plugin
|
from . import Plugin
|
||||||
from ..utils import fmt
|
|
||||||
|
|
||||||
|
|
||||||
class Kernel(Plugin):
|
class Kernel(Plugin):
|
||||||
|
@ -22,6 +21,6 @@ class Kernel(Plugin):
|
||||||
for e in feed['entries']:
|
for e in feed['entries']:
|
||||||
version, branch = e['title'].split(': ')
|
version, branch = e['title'].split(': ')
|
||||||
if '(EOL)' in e['description']:
|
if '(EOL)' in e['description']:
|
||||||
branch = '%s, {italic}EOL{reset}' % branch
|
branch = '%s, \x1DEOL\x0F' % branch
|
||||||
releases.append('{bold}%s{reset} (%s)' % (version, branch))
|
releases.append('\x02%s\x0F (%s)' % (version, branch))
|
||||||
return fmt('[Kernel] {releases}'.format(releases=', '.join(releases)))
|
return '[Kernel] {releases}'.format(releases=', '.join(releases))
|
||||||
|
|
|
@ -31,7 +31,7 @@ class Seen(DatabasePlugin):
|
||||||
nick=seen['nick'],
|
nick=seen['nick'],
|
||||||
# TODO: relate string delta
|
# TODO: relate string delta
|
||||||
delta=datetime.now() - seen['last_seen'],
|
delta=datetime.now() - seen['last_seen'],
|
||||||
message=re.sub(r'\x01ACTION (.*)\x01', r'\1', seen['message']),
|
message=re.sub(r'\x01ACTION (.*)\x01', r'/me \1', seen['message']),
|
||||||
)
|
)
|
||||||
|
|
||||||
@irc3.event(r'(?i)^:(?P<mask>\S+) PRIVMSG (?P<channel>\S+) :(?P<msg>.*)')
|
@irc3.event(r'(?i)^:(?P<mask>\S+) PRIVMSG (?P<channel>\S+) :(?P<msg>.*)')
|
||||||
|
|
|
@ -8,7 +8,7 @@ from irc3.utils import IrcString
|
||||||
import irc3
|
import irc3
|
||||||
|
|
||||||
from . import DatabasePlugin
|
from . import DatabasePlugin
|
||||||
from ..utils import fmt, time_delta
|
from ..utils import time_delta
|
||||||
|
|
||||||
|
|
||||||
@irc3.plugin
|
@irc3.plugin
|
||||||
|
@ -55,8 +55,11 @@ class Timer(DatabasePlugin):
|
||||||
seconds = delta.total_seconds()
|
seconds = delta.total_seconds()
|
||||||
if seconds > 0:
|
if seconds > 0:
|
||||||
await asyncio.sleep(seconds)
|
await asyncio.sleep(seconds)
|
||||||
text = fmt('{bold}[Timer]{reset} {nick}: {message} ({delay})',
|
text = '\x02[Timer]\x0F {nick}: {message} ({delay})'.format(
|
||||||
message=message, delay=delay, nick=mask.nick)
|
message=message,
|
||||||
|
delay=delay,
|
||||||
|
nick=mask.nick,
|
||||||
|
)
|
||||||
self.bot.privmsg(channel, text)
|
self.bot.privmsg(channel, text)
|
||||||
self.cur.execute('delete from timers where id = ?', [row_id])
|
self.cur.execute('delete from timers where id = ?', [row_id])
|
||||||
self.con.commit()
|
self.con.commit()
|
||||||
|
|
|
@ -7,10 +7,8 @@ from irc3.plugins.command import command
|
||||||
from irc3.utils import IrcString
|
from irc3.utils import IrcString
|
||||||
|
|
||||||
from . import Plugin
|
from . import Plugin
|
||||||
from ..utils import fmt
|
|
||||||
|
|
||||||
RAINBOW = ('maroon', 'red', 'orange', 'yellow', 'ltgreen', 'green', 'teal',
|
RAINBOW = (5, 3, 7, 8, 9, 3, 10, 12, 2, 6, 13)
|
||||||
'ltblue', 'blue', 'purple', 'pink')
|
|
||||||
RAINBOW_LEN = len(RAINBOW)
|
RAINBOW_LEN = len(RAINBOW)
|
||||||
|
|
||||||
GNU_LINUX = """I'd Just Like To Interject For A Moment. What you're referring
|
GNU_LINUX = """I'd Just Like To Interject For A Moment. What you're referring
|
||||||
|
@ -41,7 +39,7 @@ class Useless(Plugin):
|
||||||
|
|
||||||
@irc3.event(r'(?i)^:\S+ PRIVMSG (?P<channel>\S+) :\[(?P<data>.*)\]$')
|
@irc3.event(r'(?i)^:\S+ PRIVMSG (?P<channel>\S+) :\[(?P<data>.*)\]$')
|
||||||
def intensifies(self, channel: str, data: str):
|
def intensifies(self, channel: str, data: str):
|
||||||
self.bot.privmsg(channel, fmt('{bold}[{data} INTENSIFIES]',
|
self.bot.privmsg(channel, '\x02[{data} INTENSIFIES]'.format(
|
||||||
data=data.upper()))
|
data=data.upper()))
|
||||||
|
|
||||||
@command
|
@command
|
||||||
|
@ -71,8 +69,9 @@ class Useless(Plugin):
|
||||||
%%jn <question>
|
%%jn <question>
|
||||||
%%jn
|
%%jn
|
||||||
"""
|
"""
|
||||||
choice = random.choice(['{green}Ja', '{maroon}Nein'])
|
choice = random.choice(['3Ja', '5Nein'])
|
||||||
return fmt('{nick}: {bold}{color}%s' % choice, nick=mask.nick)
|
return '{nick}: \x02\x03%s'.format(choice=choice,
|
||||||
|
nick=mask.nick)
|
||||||
|
|
||||||
@command
|
@command
|
||||||
def kiss(self, mask: IrcString, channel: IrcString, args: DocOptDict):
|
def kiss(self, mask: IrcString, channel: IrcString, args: DocOptDict):
|
||||||
|
@ -80,8 +79,8 @@ class Useless(Plugin):
|
||||||
|
|
||||||
%%kiss <nick>
|
%%kiss <nick>
|
||||||
"""
|
"""
|
||||||
return fmt('(づ。◕‿‿◕。)づ{color}{red}。。・゜゜・。。・゜❤{reset} {nick} '
|
return '(づ。◕‿‿◕。)\x033。。・゜゜・。。・゜❤\x0F {nick} \x033❤'.format(
|
||||||
'{color}{red}❤', nick=args['<nick>'])
|
nick=args['<nick>'])
|
||||||
|
|
||||||
@command
|
@command
|
||||||
def hug(self, mask: IrcString, channel: IrcString,
|
def hug(self, mask: IrcString, channel: IrcString,
|
||||||
|
@ -90,8 +89,7 @@ class Useless(Plugin):
|
||||||
|
|
||||||
%%hug <nick>
|
%%hug <nick>
|
||||||
"""
|
"""
|
||||||
return fmt('{color}{red}♥♡❤♡♥{reset} {nick} {color}{red}♥♡❤♡♥',
|
return '\x033♥♡❤♡♥\x0F {nick} \x033♥♡❤♡♥'.format(nick=args['<nick>'])
|
||||||
nick=args['<nick>'])
|
|
||||||
|
|
||||||
@command
|
@command
|
||||||
def hack(self, mask: IrcString, channel: IrcString, args: DocOptDict):
|
def hack(self, mask: IrcString, channel: IrcString, args: DocOptDict):
|
||||||
|
@ -100,7 +98,7 @@ class Useless(Plugin):
|
||||||
%%hack [<nick>]
|
%%hack [<nick>]
|
||||||
"""
|
"""
|
||||||
nick = args.get('<nick>') or ''
|
nick = args.get('<nick>') or ''
|
||||||
return 'hacking{}...'.format(' %s' % nick if nick else '')
|
return 'hacking{nick}...'.format(nick=' %s' % nick if nick else '')
|
||||||
|
|
||||||
@command
|
@command
|
||||||
def gay(self, mask: IrcString, channel: IrcString, args: DocOptDict):
|
def gay(self, mask: IrcString, channel: IrcString, args: DocOptDict):
|
||||||
|
@ -120,10 +118,10 @@ class Useless(Plugin):
|
||||||
word = []
|
word = []
|
||||||
for i, char in enumerate(' '.join(args.get('<word>'))):
|
for i, char in enumerate(' '.join(args.get('<word>'))):
|
||||||
if char != ' ':
|
if char != ' ':
|
||||||
char = '{color}{%s}%s' % (RAINBOW[last % RAINBOW_LEN], char)
|
char = self._rainbow(last, char)
|
||||||
last += 1
|
last += 1
|
||||||
word.append(char)
|
word.append(char)
|
||||||
return fmt(''.join(word))
|
return ''.join(word)
|
||||||
|
|
||||||
@command
|
@command
|
||||||
def wrainbow(self, mask: IrcString, channel: IrcString, args: DocOptDict):
|
def wrainbow(self, mask: IrcString, channel: IrcString, args: DocOptDict):
|
||||||
|
@ -131,5 +129,10 @@ class Useless(Plugin):
|
||||||
|
|
||||||
%%wrainbow <words>...
|
%%wrainbow <words>...
|
||||||
"""
|
"""
|
||||||
return fmt(' '.join(['{color}{%s}%s' % (RAINBOW[i % RAINBOW_LEN], word)
|
return ' '.join([self._rainbow(i, word) for i, word
|
||||||
for i, word in enumerate(args['<words>'])]))
|
in enumerate(args['<words>'])])
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _rainbow(i, char):
|
||||||
|
return '\x03{color}{char}'.format(color=RAINBOW[i % RAINBOW_LEN],
|
||||||
|
char=char)
|
||||||
|
|
|
@ -10,7 +10,7 @@ from irc3.plugins.command import command
|
||||||
from irc3.utils import IrcString
|
from irc3.utils import IrcString
|
||||||
|
|
||||||
from . import Plugin
|
from . import Plugin
|
||||||
from ..utils import fmt, date_from_iso
|
from ..utils import date_from_iso
|
||||||
|
|
||||||
|
|
||||||
# TODO: write better code lol
|
# TODO: write better code lol
|
||||||
|
@ -46,22 +46,22 @@ class YouTube(Plugin):
|
||||||
except ZeroDivisionError:
|
except ZeroDivisionError:
|
||||||
score = 0
|
score = 0
|
||||||
|
|
||||||
stats = fmt(' -{color}{green} {likes:,}{reset} /{color}{maroon} '
|
stats = ' -\x033 {likes:,}\x0F /\x035 ' \
|
||||||
'{dislikes:,}{reset} ({score:,.1f}%) '
|
'{dislikes:,}\x0F ({score:,.1f}%) ' \
|
||||||
'- {views:,} views',
|
'- {views:,} views'.format(likes=likes,
|
||||||
likes=likes,
|
|
||||||
dislikes=dislikes,
|
dislikes=dislikes,
|
||||||
score=score,
|
score=score,
|
||||||
views=views)
|
views=views)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
stats = ''
|
stats = ''
|
||||||
|
|
||||||
return fmt('{title}{length}{stats} - {channel} on {date}',
|
return '{title}{length}{stats} - {channel} on {date}'.format(
|
||||||
title=item['snippet']['title'],
|
title=item['snippet']['title'],
|
||||||
channel=item['snippet']['channelTitle'],
|
channel=item['snippet']['channelTitle'],
|
||||||
length=length,
|
length=length,
|
||||||
date=date.strftime('%Y.%m.%d'),
|
date=date.strftime('%Y.%m.%d'),
|
||||||
stats=stats)
|
stats=stats,
|
||||||
|
)
|
||||||
|
|
||||||
@event(r'(?i)^:.* PRIVMSG (?P<target>.*) :.*(?:youtube.*?(?:v=|/v/)'
|
@event(r'(?i)^:.* PRIVMSG (?P<target>.*) :.*(?:youtube.*?(?:v=|/v/)'
|
||||||
r'|youtu\.be/)(?P<video_id>[-_a-zA-Z0-9]+).*')
|
r'|youtu\.be/)(?P<video_id>[-_a-zA-Z0-9]+).*')
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
from pprint import pprint as pp
|
from pprint import pprint as pp
|
||||||
|
|
||||||
from .date import date_from_iso, time_delta, time_since
|
from .date import date_from_iso, time_delta, time_since
|
||||||
from .formatting import fmt, FORMATTING
|
|
||||||
from .misc import parse_int
|
from .misc import parse_int
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
@ -12,9 +11,6 @@ __all__ = (
|
||||||
'date_from_iso',
|
'date_from_iso',
|
||||||
'time_delta',
|
'time_delta',
|
||||||
'time_since',
|
'time_since',
|
||||||
# formatting
|
|
||||||
'fmt',
|
|
||||||
'FORMATTING',
|
|
||||||
# misc
|
# misc
|
||||||
'parse_int'
|
'parse_int'
|
||||||
)
|
)
|
||||||
|
|
|
@ -28,11 +28,4 @@ FORMATTING = {
|
||||||
'swap': '\x16', # swap bg and fg colors ("reverse video")
|
'swap': '\x16', # swap bg and fg colors ("reverse video")
|
||||||
'reset': '\x0F', # reset all formatting
|
'reset': '\x0F', # reset all formatting
|
||||||
}
|
}
|
||||||
|
|
||||||
FORMATTING.update(COLORS)
|
|
||||||
# @formatter:on
|
# @formatter:on
|
||||||
|
|
||||||
|
|
||||||
def fmt(__text: str, **kwargs) -> str:
|
|
||||||
"""Formats a str with `kwargs` and `FORMATTING`."""
|
|
||||||
return __text.format(**kwargs, **FORMATTING)
|
|
||||||
|
|
17
schema.sql
17
schema.sql
|
@ -1,14 +1,14 @@
|
||||||
create table if not exists quotes (
|
create table if not exists quotes (
|
||||||
id integer primary key autoincrement,
|
id integer primary key autoincrement,
|
||||||
nick text not null,
|
nick text not null collate nocase,
|
||||||
item text not null,
|
item text not null collate nocase,
|
||||||
unique (nick, item collate nocase)
|
unique (nick, item)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table if not exists mcmaniacs (
|
create table if not exists mcmaniacs (
|
||||||
id integer primary key autoincrement,
|
id integer primary key autoincrement,
|
||||||
item text not null,
|
item text not null collate nocase,
|
||||||
unique (item collate nocase) on conflict replace
|
unique (item) on conflict replace
|
||||||
);
|
);
|
||||||
|
|
||||||
create table if not exists timers (
|
create table if not exists timers (
|
||||||
|
@ -30,12 +30,11 @@ create table if not exists tells (
|
||||||
unique (to_user, message)
|
unique (to_user, message)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
create table if not exists seens (
|
create table if not exists seens (
|
||||||
id integer primary key autoincrement,
|
id integer primary key autoincrement,
|
||||||
nick text not null,
|
nick text not null collate nocase,
|
||||||
channel text not null,
|
channel text not null collate nocase,
|
||||||
message text not null,
|
message text not null,
|
||||||
last_seen timestamp not null,
|
last_seen timestamp not null,
|
||||||
unique (nick collate nocase) on conflict replace
|
unique (nick) on conflict replace
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user