簡體   English   中英

恢復和暫停 python 腳本(電視節目)

[英]Resume and pause python script (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 簡單如果

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”。 下面是該程序通常如何工作的一個小示例:

  1. 發件人:123
  2. 我:+
  3. 發件人:123
  4. 我:+
  5. 發件人:123
  6. 我:+
  7. 發件人:123
  8. 我:+
  9. 發件人:123
  10. 我:+

另一個例子是程序處於暫停狀態,然后我在收到幾條消息后將其從暫停中刪除:

  1. 發件人:123
  2. 發件人:123
  3. 發件人:123
  4. 發件人:123
  5. 發件人:123
  6. 發件人:123
  7. 發件人:123
  8. 我:+
  9. 我:+
  10. 我:+
  11. 我:+
  12. 我:+
  13. 我:+
  14. 我:+
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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM