get text
This commit is contained in:
parent
5e8f4649a2
commit
db276f2bec
|
@ -18,6 +18,7 @@ def group_based_upload_to(instance, filename):
|
||||||
class TmcField(models.Model):
|
class TmcField(models.Model):
|
||||||
field = models.ForeignKey(BaseCustomField, models.RESTRICT)
|
field = models.ForeignKey(BaseCustomField, models.RESTRICT)
|
||||||
text = models.CharField(null=True, blank=True)
|
text = models.CharField(null=True, blank=True)
|
||||||
|
file_id = models.CharField(null=True, blank=True)
|
||||||
|
|
||||||
|
|
||||||
class TmcElement(models.Model):
|
class TmcElement(models.Model):
|
||||||
|
@ -41,4 +42,4 @@ class TgItem(models.Model):
|
||||||
tmc = models.ManyToManyField(TmcElement)
|
tmc = models.ManyToManyField(TmcElement)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"Tg item {self.id}"
|
return f"Tg item {self.name}"
|
||||||
|
|
|
@ -65,17 +65,17 @@ class TgBot:
|
||||||
|
|
||||||
async def admin_action(self, name, queryset):
|
async def admin_action(self, name, queryset):
|
||||||
if name == "admin_get_image":
|
if name == "admin_get_image":
|
||||||
async for item in queryset:
|
item = queryset
|
||||||
try:
|
try:
|
||||||
text = await TgBot.app.bot.get_file(item.text)
|
result = await TgBot.app.bot.get_file(item)
|
||||||
TgBotUpdater.return_values[item.text] = text.file_path
|
TgBotUpdater.return_values[item] = result.file_path
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
TgBotUpdater.return_values[item.text] = None
|
TgBotUpdater.return_values[item] = None
|
||||||
if name == "admin_get_name":
|
if name == "admin_get_name":
|
||||||
item = queryset[0]
|
item = queryset
|
||||||
try:
|
try:
|
||||||
text = await TgBot.app.bot.get_chat(item)
|
result = await TgBot.app.bot.get_chat(item)
|
||||||
TgBotUpdater.return_values[item] = text.effective_name
|
TgBotUpdater.return_values[item] = result.effective_name
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
TgBotUpdater.return_values[item] = None
|
TgBotUpdater.return_values[item] = None
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ class TgBot:
|
||||||
field = await BaseCustomField.objects.aget(id=element.field_id)
|
field = await BaseCustomField.objects.aget(id=element.field_id)
|
||||||
|
|
||||||
if update.message.photo:
|
if update.message.photo:
|
||||||
element.text = update.message.photo[-1].file_id
|
element.file_id = update.message.photo[-1].file_id
|
||||||
elif update.message.text:
|
elif update.message.text:
|
||||||
element.text = update.message.text
|
element.text = update.message.text
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ class TmcFieldViewset(viewsets.ModelViewSet):
|
||||||
|
|
||||||
@action(detail=False, methods=["get"], url_path=r"get_name/(?P<chat_id>[^/.]+)")
|
@action(detail=False, methods=["get"], url_path=r"get_name/(?P<chat_id>[^/.]+)")
|
||||||
def get_name(self, request, chat_id):
|
def get_name(self, request, chat_id):
|
||||||
TgBotUpdater.my_queue.put({"name": "admin_get_name", "queryset": [chat_id]})
|
TgBotUpdater.my_queue.put({"name": "admin_get_name", "queryset": chat_id})
|
||||||
response = []
|
response = []
|
||||||
timer = 30
|
timer = 30
|
||||||
while timer > 0:
|
while timer > 0:
|
||||||
|
@ -53,19 +53,15 @@ class TmcFieldViewset(viewsets.ModelViewSet):
|
||||||
return Response(response)
|
return Response(response)
|
||||||
@action(detail=False, methods=["get"], url_path=r"get_image/(?P<field_id>[^/.]+)")
|
@action(detail=False, methods=["get"], url_path=r"get_image/(?P<field_id>[^/.]+)")
|
||||||
def get_image(self, request, field_id):
|
def get_image(self, request, field_id):
|
||||||
if TmcField.objects.filter(id=field_id).exists():
|
TgBotUpdater.my_queue.put({"name": "admin_get_image", "queryset": field_id})
|
||||||
field = TmcField.objects.filter(id=field_id)
|
|
||||||
TgBotUpdater.my_queue.put({"name": "admin_get_image", "queryset": field})
|
|
||||||
response = []
|
response = []
|
||||||
timer = 30
|
timer = 30
|
||||||
while timer > 0:
|
while timer > 0:
|
||||||
sleeping = 1
|
sleeping = 1
|
||||||
timer -= sleeping
|
timer -= sleeping
|
||||||
time.sleep(sleeping)
|
time.sleep(sleeping)
|
||||||
if field[0].text in TgBotUpdater.return_values:
|
if field_id in TgBotUpdater.return_values:
|
||||||
response.append(TgBotUpdater.return_values[field[0].text])
|
response.append(TgBotUpdater.return_values[field_id])
|
||||||
del TgBotUpdater.return_values[field[0].text]
|
del TgBotUpdater.return_values[field_id]
|
||||||
break
|
break
|
||||||
return Response(response)
|
return Response(response)
|
||||||
else:
|
|
||||||
raise (FileNotFoundError())
|
|
||||||
|
|
Loading…
Reference in New Issue