jesopo
|
411f66324d
|
use ANSI_RESET in utils.irc.parse_format, not all the different resets
|
2019-11-28 15:42:12 +00:00 |
|
jesopo
|
c79bd6d0ba
|
utils.http.Response.decode() should default to detected encoding
|
2019-11-28 07:35:16 +00:00 |
|
jesopo
|
747ba5c646
|
add IRCLine.parse_human() to allow for "!raw /msg jesopo hello"
|
2019-11-27 17:38:17 +00:00 |
|
jesopo
|
40a459a83c
|
add Buffer.get_all
|
2019-11-27 12:59:50 +00:00 |
|
jesopo
|
2139c99562
|
fix BufferLine.notes definition
|
2019-11-27 12:59:36 +00:00 |
|
jesopo
|
710b711c70
|
dataclass-ify IRCBuffer.BufferLine, add .notes={}
|
2019-11-27 12:07:15 +00:00 |
|
jesopo
|
9972125b24
|
remove IRCBuffer.skip_next (not used), pass buffer lines on message events
|
2019-11-27 12:06:57 +00:00 |
|
jesopo
|
e4a5bd01e9
|
explicitly use "lxml" for finding page encoding
|
2019-11-26 14:34:48 +00:00 |
|
jesopo
|
8e9da0d681
|
_find_encoding takes bytes and soupifies now
|
2019-11-26 13:58:37 +00:00 |
|
jesopo
|
c898bc4be1
|
utils.http.request_many() shouldn't decode data for Response
|
2019-11-26 13:54:17 +00:00 |
|
jesopo
|
2d21dfa229
|
utils.http.Response.data should always be bytes - add .decode and .soup
|
2019-11-26 13:42:01 +00:00 |
|
jesopo
|
ed775ddbe3
|
remove parser from utils.http.Request, add Request.soup()
|
2019-11-26 11:35:56 +00:00 |
|
jesopo
|
93aea08818
|
utils.datetime.datetime_utcnow() -> utils.datetime.utcnow()
|
2019-11-25 18:18:09 +00:00 |
|
jesopo
|
6a6e789ec9
|
add cookies and .json() to utils.http.Response objects
|
2019-11-25 18:17:30 +00:00 |
|
jesopo
|
ab8bc65cc9
|
change utils.http.Request to be a dataclass
|
2019-11-25 13:42:10 +00:00 |
|
jesopo
|
5730d6fe59
|
refactor commands (mostly stdout/stderr) and split typing/reply out
closes #208
|
2019-11-22 16:23:30 +00:00 |
|
jesopo
|
2dfc55fb9f
|
refactor permissions and allow hostmasks to be assigned to accounts
|
2019-11-21 15:49:08 +00:00 |
|
jesopo
|
9f8c5acf52
|
add a way to execute commands through bitbotd (use for master-password)
|
2019-11-21 10:39:26 +00:00 |
|
jesopo
|
4d30263315
|
give bitbot a unique User-Agent
closes #206
|
2019-11-20 14:42:34 +00:00 |
|
jesopo
|
11c3104d02
|
move things like IRCBot.VERSION to before imports (for utils.http)
|
2019-11-20 14:41:14 +00:00 |
|
jesopo
|
bd176240d6
|
consecutive HASH_STOP chars at start shouldn't count as a stop
|
2019-11-19 14:45:47 +00:00 |
|
jesopo
|
554f21a84c
|
HASH_STOP should still be respected if last character
|
2019-11-19 14:43:24 +00:00 |
|
jesopo
|
bc6b1dda47
|
chance src/Cache.py from time.monotonic() to time.time()
|
2019-11-19 11:41:50 +00:00 |
|
jesopo
|
65023dc84b
|
move "+5m" syntax parsing out to utils.parse
|
2019-11-18 15:57:23 +00:00 |
|
jesopo
|
fe25c6bc26
|
switch some utils.irc functions to use f-strings
|
2019-11-18 14:16:30 +00:00 |
|
jesopo
|
d89a3125ab
|
truncate nickname hash operations to 64bit
|
2019-11-18 14:09:47 +00:00 |
|
jesopo
|
a8b1bd95f7
|
implement weechat-style djb2 colour hashing
|
2019-11-18 13:51:55 +00:00 |
|
jesopo
|
a7e21abfad
|
import missing comma, 'Events'->'Event'
|
2019-11-18 12:10:20 +00:00 |
|
jesopo
|
06161b326c
|
remove unused imports in src/utils/__init__.py
|
2019-11-18 12:09:18 +00:00 |
|
jesopo
|
9c4902dcfe
|
"EventsResultsError"->"EventResultsError", move errors to utils.error
|
2019-11-18 12:06:59 +00:00 |
|
jesopo
|
5d55086847
|
move utils.consts.BITBOT_MAGIC to utils.decorators
|
2019-11-15 14:09:35 +00:00 |
|
jesopo
|
5d01db8514
|
move all datetime-related code from utils/__init__ to utils.datetime
|
2019-11-15 13:59:09 +00:00 |
|
jesopo
|
5e8cf06a45
|
dont expose has_magic/get_magic in utils/__init__.py, ref directly
|
2019-11-15 13:41:03 +00:00 |
|
jesopo
|
bfcf40edd7
|
split some stuff out of utils/__init__.py
|
2019-11-15 13:39:24 +00:00 |
|
jesopo
|
2cb55306c3
|
show first-words datestamp on !words output
|
2019-11-15 12:13:16 +00:00 |
|
jesopo
|
c9cb8c8805
|
set info log rolling backup count to 1 (0 means "keep all backups")
|
2019-11-14 13:35:23 +00:00 |
|
jesopo
|
a1e9aabb84
|
add typehinting for foreground/background
|
2019-11-13 10:47:58 +00:00 |
|
jesopo
|
5d2dd9178f
|
only set color_finished=True when is_background, otherwise next char sets it
|
2019-11-13 10:43:15 +00:00 |
|
jesopo
|
8a8bd8a77e
|
colorize nicks on JOIN formatting
|
2019-11-11 12:49:45 +00:00 |
|
jesopo
|
b7bfd414be
|
hash_colorize code should first be looked up in HASH_COLORS
|
2019-11-11 12:48:37 +00:00 |
|
jesopo
|
727fb3427d
|
.lower() strings when hash-colorizing them
|
2019-11-11 12:40:36 +00:00 |
|
jesopo
|
ac30f8d4cc
|
don't use hash() for hashed colorising as it's not stable through restarts
|
2019-11-11 12:13:46 +00:00 |
|
jesopo
|
2ad8623eb3
|
add utils.irc.hash_colorize() to color a string by the string's hash
|
2019-11-11 12:06:16 +00:00 |
|
jesopo
|
98183fe4b9
|
add IRCArgs.append func
|
2019-11-08 17:41:18 +00:00 |
|
jesopo
|
5fcf18313e
|
silently eat Control socket .send() failures
|
2019-11-08 13:38:07 +00:00 |
|
jesopo
|
09fe1c5a70
|
don't stop parsing colors at comma
|
2019-11-04 13:33:10 +00:00 |
|
jesopo
|
bcdffacab5
|
add on_pause() and on_resume() for module - use in rest_api.py
|
2019-11-04 10:52:41 +00:00 |
|
jesopo
|
2b001e1ec6
|
' ' -> " "
|
2019-10-31 13:06:26 +00:00 |
|
Valentin Lorentz
|
fbf8cd1a16
|
Fix type errors detected by 'mypy --ignore-missing-imports src'.
|
2019-10-30 22:26:59 +01:00 |
|
jesopo
|
9958c9169d
|
fix _line() related type hinting issues in IRCServer.py
|
2019-10-30 13:46:29 +00:00 |
|
jesopo
|
3634b72622
|
add utils.date_human() - use it in badges.py
|
2019-10-30 10:25:07 +00:00 |
|
jesopo
|
4d85c3d1e0
|
utils.parse doesn't need to import utils
|
2019-10-29 18:03:03 +00:00 |
|
jesopo
|
080bcef3a0
|
'from src.utils import' -> 'from . import'
|
2019-10-29 18:02:50 +00:00 |
|
jesopo
|
9b349f8cc0
|
move typing.Callable def so Event doesn't have to be in " "
|
2019-10-29 18:00:59 +00:00 |
|
jesopo
|
40a340e94f
|
utils.cli shouldn't know about Database
|
2019-10-29 18:00:38 +00:00 |
|
jesopo
|
46e4b75f6b
|
utils.irc doesn't need to know about the whole of utils
|
2019-10-29 18:00:19 +00:00 |
|
jesopo
|
9f48dfb1f1
|
send_mode() args is already a list
|
2019-10-29 10:23:47 +00:00 |
|
jesopo
|
8983338680
|
move src/utils/irc/__init__.py to src/utils/irc.py
|
2019-10-28 10:57:19 +00:00 |
|
jesopo
|
7ee65f8f8c
|
remove src/utils/irc/protocol.py
|
2019-10-28 10:56:33 +00:00 |
|
jesopo
|
1bddc3b37f
|
Revert "remove unneeded import"
This reverts commit 8425c11c97 .
|
2019-10-27 10:32:13 +00:00 |
|
jesopo
|
8425c11c97
|
remove unneeded import
|
2019-10-27 10:25:37 +00:00 |
|
jesopo
|
8f4b5a0e70
|
move IRCLine related code from utils.irc to IRCLine.py
|
2019-10-27 10:19:00 +00:00 |
|
jesopo
|
3a755bb15f
|
don't consume past 2nd digit in e.g. "\03033,123"
|
2019-10-25 17:12:24 +01:00 |
|
jesopo
|
877287291a
|
reason arg of panic() shouldn't be optional, detect current exception
|
2019-10-25 14:31:09 +01:00 |
|
jesopo
|
b3f43a6721
|
remove bot.panic() throw kwarg
|
2019-10-25 14:27:12 +01:00 |
|
jesopo
|
226ebe1f1f
|
DEBUG log IRCBot.connect failure stacktrace
|
2019-10-25 14:18:22 +01:00 |
|
jesopo
|
7d4c6b6941
|
bot.panic() should just call sys.exit()
|
2019-10-25 14:14:30 +01:00 |
|
jesopo
|
9d1b640db4
|
re-add list moving CAP objects from capability_queue to capabilities_requested
|
2019-10-25 11:52:11 +01:00 |
|
Valentin Lorentz
|
d8c48fa98f
|
Make send_capability_queue split 'CAP REQ' message based on string length.
Instead of sending caps by groups of 10.
|
2019-10-23 21:20:56 +02:00 |
|
jesopo
|
062290704c
|
explicitly break event loop on Kill
|
2019-10-22 14:26:40 +01:00 |
|
jesopo
|
00e85c7573
|
bitbotctl stop should be keepalive so it exits when bitbotd exits
|
2019-10-18 11:29:59 +01:00 |
|
jesopo
|
f64131a10f
|
support utf8 hostnames by punycode (idna) encoding
|
2019-10-18 10:58:24 +01:00 |
|
jesopo
|
a1b8a4033a
|
hook_handler should be catching TRACE logging
|
2019-10-17 17:49:49 +01:00 |
|
jesopo
|
aa2511baaa
|
add IRCBot.stop() - use it for !shutdown and './bitbotctl stop'
|
2019-10-17 16:53:48 +01:00 |
|
jesopo
|
417c4f302e
|
default to using a "data directory" for bitbot (~/.bitbot/)
|
2019-10-17 12:39:56 +01:00 |
|
jesopo
|
b895958f09
|
remove debug prints from IRCBot
|
2019-10-15 16:16:29 +01:00 |
|
jesopo
|
aa3906dfa3
|
fix type linting issues for client in Control.is_readable
|
2019-10-14 18:17:15 +01:00 |
|
jesopo
|
88ffa421c1
|
add bitbotctl reload command to reload all modules
|
2019-10-14 14:52:58 +01:00 |
|
jesopo
|
99b4663ce7
|
run Control callbacks on main thread
closes #180
|
2019-10-14 14:51:53 +01:00 |
|
jesopo
|
e50290046a
|
remove safe arg from ModuleManager.load_modules() - try_reload_modules covers this now
|
2019-10-14 13:02:16 +01:00 |
|
jesopo
|
a9111c7241
|
add ModuleManager.try_reload_modules(), to try reloading in a transaction
if any of the modules fails to reload, rollback and use the already loaded modules. closes #179
|
2019-10-14 12:56:04 +01:00 |
|
jesopo
|
4940aff877
|
refactor out chosing loadable modules in to _list_valid_modules()
|
2019-10-14 11:37:04 +01:00 |
|
jesopo
|
2ca702b787
|
don't have version 'v' prefix in VERSION
|
2019-10-11 17:27:36 +01:00 |
|
jesopo
|
82f77472c6
|
'test_handler' -> 'hook_handler'
|
2019-10-11 17:17:43 +01:00 |
|
jesopo
|
14f5ec38ed
|
hold current version in it's own file: VERSION
|
2019-10-11 17:03:14 +01:00 |
|
jesopo
|
85a8ddf2d1
|
kill bitbotctl connection after rehash
|
2019-10-11 15:58:47 +01:00 |
|
jesopo
|
6a4cdabc93
|
add "rehash" bitbotctl command
|
2019-10-11 15:54:43 +01:00 |
|
jesopo
|
22b6a19054
|
try/except Control socket writes
|
2019-10-11 15:16:39 +01:00 |
|
jesopo
|
de389b34b8
|
add first real cli functionality: showing log
|
2019-10-11 15:12:26 +01:00 |
|
jesopo
|
cefde48e42
|
first draft of infrastructure for unix domain control socket
|
2019-10-11 14:00:26 +01:00 |
|
jesopo
|
daeb37226a
|
LockFile doesn't need to hold on to _database_location
|
2019-10-11 14:00:02 +01:00 |
|
jesopo
|
175f90f6a2
|
add "poll sources" - objects that can provide additional filenos for polling
|
2019-10-11 13:59:28 +01:00 |
|
jesopo
|
b7b045eadb
|
Don't exit when there are no connected servers
closes #175
|
2019-10-11 13:06:52 +01:00 |
|
jesopo
|
fd0baff093
|
only .call() PollHooks when they're "due"
|
2019-10-10 14:12:58 +01:00 |
|
jesopo
|
1c792f0194
|
move PoolHook registrations to start.py
|
2019-10-10 13:58:45 +01:00 |
|
jesopo
|
e624292608
|
v1.12.0 release
|
2019-10-10 13:36:55 +01:00 |
|
jesopo
|
a2b73469e6
|
v1.12.0-rc2 release
|
2019-10-10 12:43:19 +01:00 |
|
jesopo
|
5be01a45c4
|
'server.conncect_time' -> 'server.connect_time'
|
2019-10-10 12:31:24 +01:00 |
|
jesopo
|
2c19bdb949
|
add a fairly basic file locking mechanism with src/LockFile.py
closes #96
|
2019-10-10 12:11:03 +01:00 |
|
jesopo
|
0331b763ff
|
refactor multi-line-to-line normalisation to utils.parse.line_normalise(), use it in rss.py
closes #174
|
2019-10-10 10:33:18 +01:00 |
|