mail-ru-im / bot-python Goto Github PK
View Code? Open in Web Editor NEWBot API for Python
Home Page: https://teams.vk.com/botapi/
License: MIT License
Bot API for Python
Home Page: https://teams.vk.com/botapi/
License: MIT License
Сценарий такой:
Не нашел встроенных методов исправить это
When I send Ctrl+C / SIGTERM to running bot script I got such errors (signal should be send twice to completely exit):
Traceback (most recent call last):
File "/usr/local/bin/icqbot.py", line 510, in <module>
main()
File "/usr/local/bin/icqbot.py", line 87, in main
run_service()
File "/usr/local/bin/icqbot.py", line 121, in run_service
bot.idle()
File "/usr/local/lib/python-venv/icqbot/lib/python3.7/site-packages/bot/bot.py", line 155, in idle
sleep(1)
TypeError: _signal_handler() takes 2 positional arguments but 3 were given
Exception ignored in: <module 'threading' from '/usr/lib/python3.7/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 1281, in _shutdown
t.join()
File "/usr/lib/python3.7/threading.py", line 1032, in join
self._wait_for_tstate_lock()
File "/usr/lib/python3.7/threading.py", line 1048, in _wait_for_tstate_lock
elif lock.acquire(block, timeout):
TypeError: _signal_handler() takes 2 positional arguments but 3 were given
I think error because of
signal.signal(signalnum, handler)
The handler is called with two arguments: the signal number and the current stack frame (None or a frame object; for a description of frame objects, see the description in the type hierarchy or see the attribute descriptions in the inspect module).
but _signal_handler() want to get only one argument (after self), not two.
def _signal_handler(self, sig: int):
Добрый день . Хочу создать бота модератора для своих сообществ ICQ и столкнулся с проблемой, не могу найти функцию "mute" - пользователей, а она мне очень нужна для модерации чатов. Не могли бы вы мне помочь с этим вопросом? У вас в тестовом боте я нашел только функцию блока пользователей.
# Block user in chat
bot.chat_block_user(chat_id=TEST_CHAT, user_id=TEST_USER, del_last_messages=True)
# Unlock user in chat
bot.chat_unblock_user(chat_id=TEST_CHAT, user_id=TEST_USER)
Буду очень благодарен если поможете мне с моим вопросом.
Flask-style dispatcher look pretty and simple.
It reduces entry threshold for beginners.
It makes code more clear and readable
@bot.message_handler(filters)
def function_name(message):
bot.reply_to(message, "This is a message handler")
Reference:
aiogram
pyTelegramBotAPI
It says invalid number if I try to sign in with my phone number . i am from bangladesh .numbers starts with +880
def test_cb(bot, event):
bot.send_text(chat_id=event.data['chat']['chatId'],
text="Hello with buttons.",
inline_keyboard_markup="[{}]".format(dumps([
{"text": "Action 1", "url": "http://mail.ru"},
{"text": "Action 2", "callbackData": "call_back_id_2"},
{"text": "Action 3", "callbackData": "call_back_id_3"},
{"text": "Action 1", "url": "http://mail.ru"},
{"text": "Action 2", "callbackData": "call_back_id_2"},
{"text": "Action 3", "callbackData": "call_back_id_3"},
{"text": "Action 1", "url": "http://mail.ru"},
{"text": "Action 2", "callbackData": "call_back_id_2"},
{"text": "Action 3", "callbackData": "call_back_id_3"},
])))
How i can make more buttons?
Подскажите, можно ли как-то вытягивать ссылку на изображение из event. Изображение отправляют боту drag and drop или просто загружают через окно загрузки.
Hey
I took an example from documentation:
from bot.bot import Bot
from bot.handler import MessageHandler
TOKEN = "" #your token here
bot = Bot(token=TOKEN)
def message_cb(bot, event):
bot.send_text(chat_id=event.from_chat, text=event.text)
bot.dispatcher.add_handler(MessageHandler(callback=message_cb))
bot.start_polling()
bot.idle()
The original example works nice. BUT if I rename bot
to icq
in message_cb
function, then the bot does not send messages back to user. Other words, the code below does not work:
from bot.bot import Bot
from bot.handler import MessageHandler
TOKEN = "" #your token here
bot = Bot(token=TOKEN)
def message_cb(icq, event):
icq.send_text(chat_id=event.from_chat, text=event.text)
bot.dispatcher.add_handler(MessageHandler(callback=message_cb))
bot.start_polling()
bot.idle()
Why is it?
пробую отправить клавиатуру, как показано в примере:
if __name__ == "__main__":
bot = Bot(token=TOKEN, name=NAME, version=VERSION, api_url_base=API_URL)
bot.send_text(chat_id='746691278',
text=U"helo\n\rworld<a href='aaa'>aaa</a>",
inline_keyboard_markup="[{}]".format(json.dumps([
{"text": "Action 1", "url": "http://mail.ru"},
{"text": "Action 2", "callbackData": "call_back_id_2"},
{"text": "Action 3", "callbackData": "call_back_id_3"}
])))
bot.dispatcher.add_handler(BotButtonCommandHandler(callback=buttons_answer_cb))
bot.idle()
сообщение отправляется, а клавиатуры нет.
Where is async?
In English
I am currently designing a myteam-bot, that sends messages to the chat on particular event. Locally (Windows, Python3.6) within and without docker container this bot works very well. However when I wanted to deploy my project in Ubuntu 20.04 server it doesn't work within docker container. If I run my script with python3 test.py command without using docker container it works, however inside docker container request doesn't work. I also tried to make my script via request to api.icq.net, it doesn't work either.
But there is some info about container that I should tell you: my ubuntu server is connected to VPN, so that I can ping my server inside my local network. That's why I set network: host in my docker-compose.yml file, so that it could install all dependencies and libraries.
Therefore, I have two questions:
На русском
У меня есть myteam-бот, который работает прекрасно на моей винде как через python скрипт, так и внутри докера. Однако когда я хочу задеплоить тот же самый проект на сервере Ubuntu 20.04 бот не отправляет сообщение в чат. И я не понимаю в чем дело, ведь если запустить python скрипт на сервере, то сообщение приходит. А если поднять докер контейнер, то сообщение не приходит.
Вдобавок должен сказать, что сервер подключен к VPN, чтобы можно было пинговать сервера в другой сети. Поэтому чтобы запустить докер контейнер мне пришлось добавить в мой сервис в docker-compose network:host - что помогло скачать все библиотеки.
Итак, у меня два вопроса:
hi i just wanted to ask if there is any plans to add webhook support to your bot api
best regards
Как передать file в POST методе send_file? Когда указываю имя файла в виде строки, отправляется несозданный мной файл. Как же всё-таки передать файл в file?
Наткнулся на проблему 'HTTPResponse' object has no attribute 'strict'
при build проекта с ботом.
Нашел обсуждения уже в нескольких местах:
psf/cachecontrol#292
По предложенным вариантам решения не могу обновить версии зависимостей, т.к. в mailru-im-bot
версии вшиты жестко к конкретным версиям.
Планируется обнолвение версий зависимостей ?
Hi team from Russia,
I was asking myself, how do I dev a bot like yours, which can ask user some questions, then listen to their answer, then finally prints the final result ?
I want to improve it for my needs. So, Please could you help me to adopt the best solution.
How can I create a wizard from this bot ?
Good luck to you in this "complicated period"...
cheers.
Где можно найти инструкции??
https://agent.mail.ru/botapi/tutorial/
тут все сделал по инструкции
from bot.bot import Bot
from bot.handler import MessageHandler
TOKEN = "" #your token here
bot = Bot(token=TOKEN)
def message_cb(bot, event):
bot.send_text(chat_id=event.from_chat, text=event.text)
bot.dispatcher.add_handler(MessageHandler(callback=message_cb))
bot.start_polling()
bot.idle()
Не работает, в консоле python зависает и невозможно ничего сделать, соответственно бот тоже не отвечает на сообщения
I wonder when will the support of Python version will increase? Python 3.6 is quite for the current libraries that everybody use.
Naming your library as a bot
is a bad practice.
Not clear to users, not clear to dependencies.
Bot development is not just about you :)
A more suitable and clear name option is icq
:
from icq import Bot
Hi, i istalled this library first by git clone and setup, but terminal wrote: no module named steptools. I install pip and go sudo apt install python-pip. There is no errors. So when i copypast code from official bot api webcite i get this error in pycharm: Unresolved reference 'bot'
How can i solve this problem?
Подскажите пожалуйста, есть ли возможность писать в треды сообщений?
Is it possible to get the phone number for events?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.