当我使用聊天时,此bot可以正常工作,但当我将其添加到组中时,就会抛出奇怪的错误…
bot没有内联,并且组已启用,因此这不是问题所在。
代码如下:
import telebot
import dotenv
import os
from utils import gif
import re
dotenv.load_dotenv();
bot = telebot.TeleBot(os.environ.get("TOKEN"))
pattern = r":gif (.+)"
regex = re.compile(pattern,re.IGNORECASE)
counter = 50
@bot.message_handler(func = lambda message: re.search(regex,message.text))
def word_to_gif(message):
text = message.text
word_list = re.search(regex,text).group(1)
res = gif.get_gif_tenor(word_list)
if res.status_code == 200:
res = res.json()
res_array = res["results"]
gif_url = gif.extract_gif_url(res_array)
bot.send_animation(message.chat.id,gif_url)
else:
bot.send_message(message.chat.id,f"Error: code[{res.status_code}]")
@bot.message_handler(func = lambda message: re.search(re.compile("vince",re.IGNORECASE),message.text))
def biat_a_vicienz(message):
global counter
if(counter == 50):
bot.send_message(message.chat.id,"biat a te de martì")
counter = 0
else:
counter = counter +1
'''
@bot.message_handler(func = lambda message : True)
def echo(message):
bot.send_message(message.chat.id,message.text)
'''
bot.polling(none_stop = False)
以下是消息到达组时出现的错误日志:
2021-02-26 20:32:15,004 (util.py:75 PollingThread) ERROR - TeleBot: "TypeError occurred, args=('expected string or bytes-like object',)
Traceback (most recent call last):
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/util.py", line 69, in run
task(*args, **kwargs)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 286, in __retrieve_updates
self.process_new_updates(updates)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 332, in process_new_updates
self.process_new_messages(new_messages)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 358, in process_new_messages
self._notify_command_handlers(self.message_handlers, new_messages)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 2038, in _notify_command_handlers
if self._test_message_handler(message_handler, message):
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 2006, in _test_message_handler
if not self._test_filter(message_filter, filter_value, message):
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 2027, in _test_filter
return test_cases.get(message_filter, lambda msg: False)(message)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 2024, in <lambda>
'func': lambda msg: filter_value(msg)
File "main.py", line 15, in <lambda>
@bot.message_handler(func = lambda message: re.search(regex,message.text))
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/re.py", line 199, in search
return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object
"
Traceback (most recent call last):
File "main.py", line 44, in <module>
bot.polling(none_stop = False)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 427, in polling
self.__threaded_polling(none_stop, interval, timeout)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 450, in __threaded_polling
polling_thread.raise_exceptions()
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/util.py", line 88, in raise_exceptions
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/six.py", line 703, in reraise
raise value
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/util.py", line 69, in run
task(*args, **kwargs)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 286, in __retrieve_updates
self.process_new_updates(updates)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 332, in process_new_updates
self.process_new_messages(new_messages)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 358, in process_new_messages
self._notify_command_handlers(self.message_handlers, new_messages)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 2038, in _notify_command_handlers
if self._test_message_handler(message_handler, message):
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 2006, in _test_message_handler
if not self._test_filter(message_filter, filter_value, message):
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 2027, in _test_filter
return test_cases.get(message_filter, lambda msg: False)(message)
File "/Users/giannandreavicidomini/PycharmProjects/RandomGifBot/venv/lib/python3.8/site-packages/telebot/__init__.py", line 2024, in <lambda>
'func': lambda msg: filter_value(msg)
File "main.py", line 15, in <lambda>
@bot.message_handler(func = lambda message: re.search(regex,message.text))
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/re.py", line 199, in search
return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object
这真的很奇怪,即使我试图从我的电脑上运行主文件,它也会停止工作,但是如果我对两个decorator进行注释,再次运行它并取消注释decorators,它会再次开始工作…
为什么正则表达式代码会出现这些问题?我拿不到它…
编辑:在成员列表中,它表示bot无权访问消息,但组已为此启用
目前没有回答
相关问题 更多 >
编程相关推荐