-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
179 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import reposter.core.common | ||
import tortoise | ||
|
||
|
||
async def init(): | ||
await tortoise.Tortoise.init( | ||
#db_url=reposter.core.common.app.db_url, | ||
db_url='sqlite://:memory:', | ||
modules={'models': ['reposter.db.models']} | ||
) | ||
await tortoise.Tortoise.generate_schemas() | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import reposter.core.common | ||
from tortoise.models import Model | ||
from tortoise import fields | ||
|
||
|
||
class Msg(Model): | ||
src_msg = fields.IntField() | ||
src_chat = fields.IntField() | ||
target_msg = fields.IntField() | ||
target_chat = fields.IntField() | ||
|
||
|
||
async def create(): | ||
await Msg.create( | ||
src_msg=1, | ||
src_chat=2, | ||
target_msg=3, | ||
target_chat=4, | ||
) | ||
reposter.core.common.log( | ||
await Msg.all().first().values() | ||
) | ||
import os | ||
os._exit(0) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
import reposter.handlers.forward_unrestricted | ||
import reposter.handlers.resend_restricted | ||
import reposter.handlers.stream_notify | ||
import reposter.handlers.service | ||
import reposter.funcs.other | ||
import reposter.core.common | ||
import reposter.core.types | ||
import reposter.db.models | ||
import pyrogram.types | ||
|
||
|
||
class OnMsg: | ||
def __init__( | ||
self, | ||
target_any: reposter.core.types.target | ||
) -> None: | ||
self.target_any: reposter.core.types.target = target_any | ||
assert isinstance(self.target_any, (str, int, list)) | ||
|
||
async def on_new_msg( | ||
self, | ||
_, | ||
src_msg: pyrogram.types.Message, | ||
) -> None: | ||
link = reposter.funcs.other.single_link(src_msg) | ||
reposter.core.common.log( | ||
f'[green]\\[new msg] [blue]{link}' | ||
) | ||
if src_msg.service: | ||
service = reposter.handlers.service.Service( | ||
target_any=self.target_any, | ||
src_msg=src_msg, | ||
) | ||
await service.service_all() | ||
if src_msg.service == pyrogram.enums.MessageServiceType.VIDEO_CHAT_STARTED: | ||
stream_notify = reposter.handlers.stream_notify.StreamNotify( | ||
target_any=self.target_any, | ||
) | ||
await stream_notify.notify_all() | ||
return | ||
if src_msg.has_protected_content or src_msg.chat.has_protected_content: | ||
real_time_resend = reposter.handlers.resend_restricted.ResendRestricted( | ||
src_msg=src_msg, | ||
target_any=self.target_any, | ||
) | ||
await real_time_resend.resend_all() | ||
else: | ||
real_time_forward = reposter.handlers.forward_unrestricted.ForwardUnrestricted( | ||
target_any=self.target_any, | ||
src_to_forward=src_msg, | ||
src_in_db=src_msg, | ||
) | ||
await real_time_forward.forward_all() | ||
|
||
async def on_edited_msg( | ||
self, | ||
_, | ||
src_msg: pyrogram.types.Message, | ||
) -> None: | ||
link = reposter.funcs.other.single_link(src_msg) | ||
reposter.core.common.log( | ||
f'[bright_cyan]\\[edited msg] [blue]{link}' | ||
) | ||
loaded = await reposter.db.models.Msg.get_or_none( | ||
src_msg=src_msg.id, | ||
src_chat=src_msg.chat.id | ||
) | ||
if loaded: | ||
reposter.core.common.log( | ||
loaded | ||
) | ||
else: | ||
reposter.core.common.log( | ||
f'[yellow]\\[warn] [blue]{link} edited but was never saved in db' | ||
) | ||
|
||
async def on_deleted_msg( | ||
self, | ||
_, | ||
src_msg: pyrogram.types.Message, | ||
) -> None: | ||
link = reposter.funcs.other.single_link(src_msg) | ||
reposter.core.common.log( | ||
f'[red]\\[deleted msg] [blue]{link}' | ||
) | ||
loaded = await reposter.db.models.Msg.get_or_none( | ||
src_msg=src_msg.id, | ||
src_chat=src_msg.chat.id | ||
) | ||
if loaded: | ||
reposter.core.common.log( | ||
loaded | ||
) | ||
else: | ||
reposter.core.common.log( | ||
f'[yellow]\\[warn] [blue]{link} deleted but was never saved in db' | ||
) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters