from time import sleep
print('2 + ', end='')
sleep(1)
print('2 = ', end='')
sleep(1)
print('4')
为什么使用手动设置的 value end
,只有在到达第 7 行时才会执行打印,但是如果您将其保留为 standard 或 enter end='\n'
,那么一切都会按预期工作?
from time import sleep
print('2 + ', end='')
sleep(1)
print('2 = ', end='')
sleep(1)
print('4')
为什么使用手动设置的 value end
,只有在到达第 7 行时才会执行打印,但是如果您将其保留为 standard 或 enter end='\n'
,那么一切都会按预期工作?
有几个类,其中一个的方法必须创建另一个的实例列表
class b:
/..
class a:
self.list1 = []
def add_units(self, clas, num):
for i in range(num):
self.list1.append(?)
a.add_units(b, 3)
你怎么能创建一个只知道它的名字的类的实例(多个)?
我想在机器人中创建一个函数,它将数据库中列的值每天增加 1。
sql = "SELECT points FROM table"
cur.execute(sql)
old = cur.fetchall()
new = ()
for i in range(len(old)):
new += (int(old[i][0]) + 1,)
这就是我如何获得具有所有列值的元组数组并创建具有新值的元组
但我不明白如何用一个请求替换旧值,因为
sql = """
UPDATE table
SET points = ?
"""
cur.execute(sql, new)
此代码不起作用,因为查询要将所有值替换为一个。我应该如何编写查询来替换整个列?
Python 中有一个简单的 echobot,它可以工作并从 PyCharm 开始。问题出在 Heroku 上的部署中,在我的文件夹中有一个脚本,一个带有脚本配置的文件,runtime.txt 支持 3.7.2
runtime.txt
支持 Python 3.7.2requirements.txt
通过pip install -r requirements.txt
procfile
,包含worker: python bot.py
(bot.py - 脚本的主体,指的是config.py,其中bot令牌位于tg中).gitignore
.git
有2种情况,或者我只是尝试通过部署应用程序git push heroku master
并得到错误
! No default language could be detected for this app.
HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
See https://devcenter.heroku.com/articles/buildpacks
! Push failed
如果我安装 Python buildpack,例如,通过设置中的站点和我的应用程序的页面,则会出现不同的错误:
-----> App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz
More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
! Push failed
我似乎在按照 Heroku 的指示做所有事情,但是,显然,我在某个地方弄错了,告诉我什么。
有一个谷歌脚本与一个带有 webhook 的电报机器人相连。我想要一个输入转发的代码和两个后续回复的代码来填充谷歌电子表格中的一行,但我遇到了脚本对机器人中的每条消息做出反应并分别处理它们的问题。
var contents = JSON.parse(e.postData.contents);
var text = contents.message.text
var txtar = text.split(" ");
var sheetName = "Тест";
var sheet = SpreadsheetApp.openById(ssId);
sheet.getSheetByName(sheetName).appendRow([maintext[3], "-", maintext[2], maintext[1], "-", maintext[0]]);
因此,脚本会填充表格,但它会在新行上显示每条已处理的消息。可以比如通过key补一个已经填好的行吗(可以用第一条消息的转发时间作为key)。如果可以编辑已经受影响的行,那么通过什么方法可以,在SpreadsheetApp类的手册中,我发现只有方法setCurrentCell(cell)
,但是使用起来不是很方便。
谷歌脚本与电报机器人网络挂钩。我希望将来自机器人的消息分成我需要的部分并发送到 Google 电子表格。提取表情符号时出现问题
var contents = JSON.parse(e.postData.contents);
var text = contents.message.text
var textar = text.split("");
var sheet = SpreadsheetApp.openById(ssId);
sheet.getSheetByName(sheetName).appendRow([text,textar[4]]);
因此,我收到了原始文本 + 一个特定字符(肯定会有一个表情符号)。但是,“?”出现在表格中,尽管在相邻单元格中,表情符号在整个消息中完美显示。如何更改代码以使脚本正确发送表情符号进行录制并且不会丢失?
Telegram bot webhook 链接到谷歌脚本
function doPost(e){
var contents = JSON.parse(e.postData.contents);
GmailApp.sendEmail("######@gmail.com", "Telegram Bot Update", JSON.stringify(e.postData.contents,null,4));
var text = contents.message.text;
var id = contents.message.from.id;
var name = contents.message.from.first_name + " " + contents.message.from.last_name;
sendText(id, "Hi, " + name);
}
该代码应向我的电子邮件发送一条消息,其中包含有关机器人中消息的信息,然后回复它。
当机器人收到消息时,脚本只发送一封电子邮件,但没有响应。单独运行时,该函数会因此错误而崩溃。
TypeError:无法读取未定义对象的属性“postData”。
你能告诉我如何正确地将 e 传递给一个函数以便定义它吗?