phobious
@phobious
Не отрицаю свою глупость, и нет, мне не стыдно

Пополнять список бота просто отсылая ему сообщения?

У меня есть бот, который рандомно отправляет слово/картинку из списка
так вот, можно ли сделать так
чтобы при отправке боту в личку , например :
"+список и тут какое-то слово".
в сам скрипт (или отдельный файл в котором будет лежать список всех слов) добавлялось то слово что в сообщении? я просто не пойму как это реализовать.

Допустим прочитать что написал юзер, взять текст этого сообщения и записать, но :

1) - как мне записать именно то что стоит после команды "+список" (т.е. через пробел)? я могу записать все его сообщение, а вот как по кускам это сделать, не особо понимаю (самое костыльное что придумал, реализовать отдельно запрос, и отдельно сохранение, проще говоря через два сообщения)

2) - как мне поступить, если мне нужно добавить картинку?
картинки бот отправляет через
message=('123',
                    attachment = ('photo-000000000_000000000')

т.е. грубо говоря он берет их из самого вк, и отправляет.
исходя из этого понятно, что если нам нужно сохранить картинку которую нам прислали, и затем иметь возможность достать ее из списка и отправить, то нам нужно узнать ее id , или как это называется. Это вообще возможно? или же я сам себе просто палки в колеса сую, и можно проще?

Извините если сформулировал свой вопрос как-то неправильно, не могу подобрать конкретных слов
  • Вопрос задан
  • 88 просмотров
Решения вопроса 2
@66demon666
Сетевой админ, АТС-админ
1) Вам надо парсить строку
2) Получаете ссылку на фото по его id, качаете. Документация по вк апи в помощь
Ответ написан
MinTnt
@MinTnt
1) Про API VK мало знаю, но вот одно предолжение для списка, это создать небольшую базу со значениями spisok.txt.
#Перед этим создав spisok.txt в той же директории, и задав в него нужные данные через Enter
import re

spisok = []
with open('spisok.txt', 'r') as f:
	for i in f.readlines():
		try:
			i, _ = re.split('\n', i, maxsplit = 1)
			spisok.append(i)
		except Exception:
			spisok.append(i)
	print(spisok)
	f.close()
#А потом добавление значений в этот список. Пример консольки.
abprint = input()
if re.match('-cont ', abprint):#Ищет в начале текста "-cont", если находит то продолжает дальше
		_, addtext = re.split('-cont ', message.text, maxsplit = 1) #Так как "-cont" в начале присутствует, то разделяет текст, и берёт текст что идёт после "-cont" как "addtext"
#Потом ещё можно добавить проверку, что if addtext == ""(т.е. ничего не написано) выдавало ошибку или тд.
		with open('spisok.txt', 'a') as f:#Записывает данные в txt
			f.write('\n' + addtext)
			f.close()
		spisok.append(addtext)#Добавляет значения в список
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час