Size: a a a

pyTelegramBotAPI.talks.ru

2021 March 12

A

Aryn in pyTelegramBotAPI.talks.ru
Я с телефона
источник

A

Aryn in pyTelegramBotAPI.talks.ru
Failed to evaluate expression:
import re
PATTERN = re.compile(r"(?P<value>\d+)(?P<modifier>[wdhms])")
LINE_PATTERN = re.compile(r"^(\d+[wdhms]){1,}$")

MODIFIERS = {
   "w": datetime.timedelta(weeks=1),
   "d": datetime.timedelta(days=1),
   "h": datetime.timedelta(hours=1),
   "m": datetime.timedelta(minutes=1),
   "s": datetime.timedelta(seconds=1),
}

class TimedeltaParseError(Exception):
   pass

def parse_timedelta(value: str) -> datetime.timedelta:
   match = LINE_PATTERN.match(value)
   if not match:
       raise TimedeltaParseError("Invalid time format")

   try:
       result = datetime.timedelta()
       for match in PATTERN.finditer(value):
           value, modifier = match.groups()

           result += int(value) * MODIFIERS[modifier]
   except OverflowError:
       raise TimedeltaParseError("Timedelta value is too large")

   return result

def parse_timedelta_from_message(message:
   _, args = message.text.split(maxsplit=2)

   if args:  # Parse custom duration
       try:
           duration = parse_timedelta(args[0])
       except TimedeltaParseError:
           await message.reply("Failed to parse duration")
           return
       if duration <= datetime.timedelta(seconds=30):
           return datetime.timedelta(seconds=30)
       return duration
   else:
       return datetime.timedelta(minutes=15)

parse_timedelta_from_message(reply)


Due to:
 File "exec", line 35
   if args:  # Parse custom duration
          ^
SyntaxError: invalid syntax
источник

A

Aryn in pyTelegramBotAPI.talks.ru
Пиздец
источник

П

Пасюк Лошадкин... in pyTelegramBotAPI.talks.ru
slair 🇷🇺
насрал то насрал...
t = time.time() + 60
bot.restrict_chat_member(m.chat.id,m.reply_to_message.from_user.id, until_date = t)
источник

П

Пасюк Лошадкин... in pyTelegramBotAPI.talks.ru
Должно работать
источник

A

Aryn in pyTelegramBotAPI.talks.ru
Пасюк Лошадкин
t = time.time() + 60
bot.restrict_chat_member(m.chat.id,m.reply_to_message.from_user.id, until_date = t)
источник

П

Пасюк Лошадкин... in pyTelegramBotAPI.talks.ru
Aryn
Failed to evaluate expression:
import re
PATTERN = re.compile(r"(?P<value>\d+)(?P<modifier>[wdhms])")
LINE_PATTERN = re.compile(r"^(\d+[wdhms]){1,}$")

MODIFIERS = {
   "w": datetime.timedelta(weeks=1),
   "d": datetime.timedelta(days=1),
   "h": datetime.timedelta(hours=1),
   "m": datetime.timedelta(minutes=1),
   "s": datetime.timedelta(seconds=1),
}

class TimedeltaParseError(Exception):
   pass

def parse_timedelta(value: str) -> datetime.timedelta:
   match = LINE_PATTERN.match(value)
   if not match:
       raise TimedeltaParseError("Invalid time format")

   try:
       result = datetime.timedelta()
       for match in PATTERN.finditer(value):
           value, modifier = match.groups()

           result += int(value) * MODIFIERS[modifier]
   except OverflowError:
       raise TimedeltaParseError("Timedelta value is too large")

   return result

def parse_timedelta_from_message(message:
   _, args = message.text.split(maxsplit=2)

   if args:  # Parse custom duration
       try:
           duration = parse_timedelta(args[0])
       except TimedeltaParseError:
           await message.reply("Failed to parse duration")
           return
       if duration <= datetime.timedelta(seconds=30):
           return datetime.timedelta(seconds=30)
       return duration
   else:
       return datetime.timedelta(minutes=15)

parse_timedelta_from_message(reply)


Due to:
 File "exec", line 35
   if args:  # Parse custom duration
          ^
SyntaxError: invalid syntax
Делай это в лс
источник

П

Пасюк Лошадкин... in pyTelegramBotAPI.talks.ru
Чата не видно
источник

A

Aryn in pyTelegramBotAPI.talks.ru
Пасюк Лошадкин
Делай это в лс
Ок
источник

s🇷

slair 🇷🇺 in pyTelegramBotAPI.talks.ru
почему банит навечно?
источник

K

KhumoyunPRO in pyTelegramBotAPI.talks.ru
slair 🇷🇺
почему банит навечно?
го мой метод
источник

K

KhumoyunPRO in pyTelegramBotAPI.talks.ru
KhumoyunPRO
bot.restrict_chat_member(m.chat.id, m.reply_to_message.from_user.id, time.time()+3600, can_send_messages = False)
это
источник

K

KhumoyunPRO in pyTelegramBotAPI.talks.ru
KhumoyunPRO
bot.restrict_chat_member(message.chat.id, message.reply_to_message.from_user.id, can_invite_users = True, until_date=int(message.date)+int(time_until*3600))
это
источник

A

Aryn in pyTelegramBotAPI.talks.ru
KhumoyunPRO
bot.restrict_chat_member(message.chat.id, message.reply_to_message.from_user.id, can_invite_users = True, until_date=int(message.date)+int(time_until*3600))
Ты зачем на 3600 умножаешь
источник

A

Aryn in pyTelegramBotAPI.talks.ru
import re
PATTERN = re.compile(r"(?P<value>\d+)(?P<modifier>[wdhms])")
LINE_PATTERN = re.compile(r"^(\d+[wdhms]){1,}$")

MODIFIERS = {
   "w": datetime.timedelta(weeks=1),
   "d": datetime.timedelta(days=1),
   "h": datetime.timedelta(hours=1),
   "m": datetime.timedelta(minutes=1),
   "s": datetime.timedelta(seconds=1),
}

class TimedeltaParseError(Exception):
   pass

def parse_timedelta(value):
   match = LINE_PATTERN.match(value)
   if not match:
       raise TimedeltaParseError("Invalid time format")

   try:
       result = datetime.timedelta()
       for match in PATTERN.finditer(value):
           value, modifier = match.groups()

           result += int(value) * MODIFIERS[modifier]
   except OverflowError:
       raise TimedeltaParseError("Timedelta value is too large")

   return result

def parse_timedelta_from_message(message:
   A = message.text.split()[0]
   args = message.text.split()[1:]

   if args:  # Parse custom duration
       try:
           duration = parse_timedelta(args[0])
       except TimedeltaParseError:
           return 0
       if duration <= datetime.timedelta(seconds=30):
           return datetime.timedelta(seconds=30)
       return duration
   else:
       return datetime.timedelta(minutes=15)

parse_timedelta_from_message(message)
источник

A

Aryn in pyTelegramBotAPI.talks.ru
Aryn
import re
PATTERN = re.compile(r"(?P<value>\d+)(?P<modifier>[wdhms])")
LINE_PATTERN = re.compile(r"^(\d+[wdhms]){1,}$")

MODIFIERS = {
   "w": datetime.timedelta(weeks=1),
   "d": datetime.timedelta(days=1),
   "h": datetime.timedelta(hours=1),
   "m": datetime.timedelta(minutes=1),
   "s": datetime.timedelta(seconds=1),
}

class TimedeltaParseError(Exception):
   pass

def parse_timedelta(value):
   match = LINE_PATTERN.match(value)
   if not match:
       raise TimedeltaParseError("Invalid time format")

   try:
       result = datetime.timedelta()
       for match in PATTERN.finditer(value):
           value, modifier = match.groups()

           result += int(value) * MODIFIERS[modifier]
   except OverflowError:
       raise TimedeltaParseError("Timedelta value is too large")

   return result

def parse_timedelta_from_message(message:
   A = message.text.split()[0]
   args = message.text.split()[1:]

   if args:  # Parse custom duration
       try:
           duration = parse_timedelta(args[0])
       except TimedeltaParseError:
           return 0
       if duration <= datetime.timedelta(seconds=30):
           return datetime.timedelta(seconds=30)
       return duration
   else:
       return datetime.timedelta(minutes=15)

parse_timedelta_from_message(message)
Как-то так
источник

s🇷

slair 🇷🇺 in pyTelegramBotAPI.talks.ru
не, оно должно работать
источник

П

Пасюк Лошадкин... in pyTelegramBotAPI.talks.ru
slair 🇷🇺
почему банит навечно?
Покажи код итоговый
источник

A

Aryn in pyTelegramBotAPI.talks.ru
slair 🇷🇺
не, оно должно работать
Покажи свой код ещё разок
источник

П

Пасюк Лошадкин... in pyTelegramBotAPI.talks.ru
Скорее всего ошибка в определении времени бана
источник