如何解决恢复和暂停 python 脚本telethon
我从一开始就为我的英语道歉...
你好,我是一个新人,我在这里所做的就是我最好和最伟大的工作。当然不是我自己做的,我受到了许多其他作品的启发,论坛,论坛和论坛。在下面的程序中,如果它可以称为程序。如果可以的话,我需要做一点“暂停”和“继续”系统。我自己会做这个,但我不知道如何,我花了半天时间,尝试了各种方法。我认为它是否有效,我不知道......例如,当程序停止打印我“暂停”时,当它开始写“继续”时,我把它放......但仅此而已我们添加了这个系统后还在继续......因为程序不起作用......我不知道我错在哪里......如果有人可以帮助我,我将不胜感激...... 如果可以,请告诉我在哪里添加该程序。在中间,在开头或结尾。 就你所见,有不少导入的东西......而且我什至不确定我是否需要其中的大部分......我唯一导入的库是 Regex "re":)。
import re
from telethon import TelegramClient,sync,events
from telethon.tl.types import Channel
from telethon.tl.types import ChatForbidden
from telethon.tl.types import InputPeerChat
from telethon.tl.functions.messages import SendMessageRequest
from telethon.tl.types import PeerUser,PeerChat,PeerChannel
api_id = *******
api_hash = '***************************'
client = TelegramClient('Test',api_id,api_hash).start()
#entity_v2 = client.get_entity('searaseara') #Success
me = client.get_me()
#print(me.stringify())
@client.on(events.NewMessage(incoming=True,pattern=r'\d*\s*\bне выкуплено\b.*\b1CALL\b|\d*\s*\bотправлено\b.*\b1CALL\b|\d*\s*\bоплачено\b.*\b1CALL\b|\d*\s*\bнекорректный\b.*\b1CALL\b|\d*\s*\bотменено\b.*\b1CALL\b|\d*\s*\bвыкуплено\b.*\b1CALL\b|\d*\s*\bотказ\b.*\b1CALL\b|Пропущеный звонок с номера\b'))
async def handler(event):
await event.respond(message="+")
client.run_until_disconnected()
解决方法
只要使用python simple if
s = off
if s == "on":
#Do_sth
并且您可以通过从您的客户(电报)获取消息来控制此(打开或关闭)
@client.on(events.NewMessage(pattern="turn"))
async def handler(event):
txt = event.raw_text
global s
if txt == "turnon":
s = "on"
if txt == "turnoff":
s = "off"
,
与此同时,我找到了一个小解决方案,如何暂停程序并让它继续运行,只是有点小问题。 例如,这个程序对包含模式中单词的消息以“+”响应......但如果在此期间程序暂停,并且有更多消息进入,程序通常应该响应,例如2,3,4,5 等等,当我把它从暂停中取出时,它会为每条消息发送加号......例如,程序用“+”响应消息“123”。下面是程序通常如何工作的一个小例子:
- 发件人:123
- 我:+
- 发件人:123
- 我:+
- 发件人:123
- 我:+
- 发件人:123
- 我:+
- 发件人:123
- 我:+
另一个例子,当程序处于暂停状态时,我在收到几条消息后将其从暂停状态中删除:
- 发件人:123
- 发件人:123
- 发件人:123
- 发件人:123
- 发件人:123
- 发件人:123
- 发件人:123
- 我:+
- 我:+
- 我:+
- 我:+
- 我:+
- 我:+
- 我:+
import re
from telethon import TelegramClient,sync,events
from telethon.tl.types import Channel
from telethon.tl.types import ChatForbidden
from telethon.tl.types import InputPeerChat
from telethon.tl.functions.messages import SendMessageRequest
from telethon.tl.types import PeerUser,PeerChat,PeerChannel
api_id = 5531856
api_hash = '94a4bf4ea16117ddf5dc5ffa61d54dbf'
###################################################
#I added this section
def debug_signal_handler(signal,frame):
import pdb
pdb.set_trace()
import signal
signal.signal(signal.SIGINT,debug_signal_handler)
###################################################
client = TelegramClient('Test',api_id,api_hash).start()
#entity_v2 = client.get_entity('searaseara') #Success
me = client.get_me()
print(me.stringify())
@client.on(events.NewMessage(incoming=True,pattern=r'\d*\s*\bне выкуплено\b.*\b1CALL\b|\d*\s*\bотправлено\b.*\b1CALL\b|\d*\s*\bоплачено\b.*\b1CALL\b|\d*\s*\bнекорректный\b.*\b1CALL\b|\d*\s*\bотменено\b.*\b1CALL\b|\d*\s*\bвыкуплено\b.*\b1CALL\b|\d*\s*\bотказ\b.*\b1CALL\b|Пропущеный звонок с номера\b'))
async def handler(event):
await event.respond(message="+")
client.run_until_disconnected()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。