fix: ignore expired resources

This commit is contained in:
Rogee
2024-09-09 17:39:27 +08:00
parent 6f4b72da36
commit 791198a0be
3 changed files with 217 additions and 4 deletions

View File

@@ -123,8 +123,10 @@ func (t *TClient) Channel(ctx context.Context, channel *tg.Channel, cfg *DBChann
data, err := t.saveDocument(ctx, cfg, doc)
if err != nil {
logger.Error("save document failed", zap.Error(err), zap.Int64("channel", channel.ID))
return err
if !errors.Is(err, errorx.ErrResourceExpired) {
logger.Error("save document failed", zap.Error(err), zap.Int64("channel", channel.ID))
return err
}
}
channelMessage.WithDocument(doc.GetID(), data)
}
@@ -143,8 +145,10 @@ func (t *TClient) Channel(ctx context.Context, channel *tg.Channel, cfg *DBChann
if photoClass, ok := mediaClass.(*tg.MessageMediaPhoto).GetPhoto(); ok && cfg.ExportMedia {
photo := photoClass.(*tg.Photo)
if err := t.savePhoto(ctx, cfg, photo); err != nil {
logger.Error("save photo failed", zap.Error(err), zap.Int64("channel", channel.ID))
return err
if !errors.Is(err, errorx.ErrResourceExpired) {
logger.Error("save photo failed", zap.Error(err), zap.Int64("channel", channel.ID))
return err
}
}
channelMessage.WithPhoto(photo.GetID(), "jpg")
}
@@ -188,6 +192,9 @@ func (t *TClient) savePhoto(ctx context.Context, cfg *DBChannel, photo *tg.Photo
if err != nil {
os.Remove(saveTo)
logger.Error("download failed", zap.Error(err))
if strings.Contains(err.Error(), "FILE_REFERENCE_EXPIRED") {
return errorx.ErrResourceExpired
}
return err
}
@@ -266,6 +273,9 @@ func (t *TClient) saveDocument(ctx context.Context, cfg *DBChannel, doc *tg.Docu
if err != nil {
os.Remove(saveTo)
logger.Error("download failed", zap.Error(err))
if strings.Contains(err.Error(), "FILE_REFERENCE_EXPIRED") {
return ChannelMessageDocument{}, errorx.ErrResourceExpired
}
return ChannelMessageDocument{}, err
}
logger.Info("download document success", zap.String("location", saveTo), zap.Any("document", data))

201
notes.md Normal file
View File

@@ -0,0 +1,201 @@
#书摘 #认知觉醒:开启自我改变的原动力 #周岭
### 自序 开启自我改变的原动力
- 小部分人幸运些,在合适的年纪“睁开了眼睛”。他们跳出了成长的陷阱,开始刻意提升自己,为未来美好的生活做准备。他们慢慢甩开了大队伍,走在了同龄人的前列,然而很快遇到了瓶颈:想勤奋,却总是敌不过惰性;想努力,却总是陷入低效的状态;想精进,面前却总是弯路不断;读了很多书,都忘了;付出很多努力,都白费了。他们仿佛越使劲越困惑,越努力越迷茫
### 第一章 大脑——一切问题的起源
- 对自己说:“暂时忍耐一下,先做重要的事情,之后会有半小时或一小时的时间专门玩手机,想怎么玩都行。”通过自我沟通和引导,本能脑和情绪脑产生了安全感,通常它们都舍得放手让理智脑插个队。
- 这种“后娱乐”的好处是,将享乐的快感建立在完成重要任务后的成就感之上,很放松、踏实,就像一种奖赏;而“先娱乐”虽然刚开始很快活,但精力会无限发散,拖延重要的工作,随着时间的流逝,人会空虚、焦虑。
- 耐心就是这样,不能急于求成,允许自己缓慢地改变,甚至经常失败。无论结果如何,和自己对话都会产生效果
- 所以,想办法让本能脑和情绪脑感受到困难事物的乐趣并上瘾,才是理智脑的最高级的策略。学会释放本能脑和情绪脑的强大力量,我们就会无往不胜
### 第二章 潜意识——生命留给我们的彩蛋
- 有些事一旦进入潜意识,可能很难消除,比如童年的不幸经历,虽然意识早已将其淡忘,但潜意识却始终保留着这些印记,并隐蔽地影响着我们的性格和行为
- 要想不受其困扰,唯一的办法就是正视它、看清它、拆解它、化解它,不给它进入潜意识的机会,不给它变模糊的机会;即使已经进入潜意识,也要想办法将它挖出来。所以,当你感到心里有说不清、道不明的难受的感觉时,赶紧坐下来,向自己提问。
1. 到底是什么让自己烦躁不安?是上台演讲、会见某人,还是思绪纷乱?
2. 具体是什么让自己恐惧担忧?是能力不足、准备不够,还是害怕某事发生?
3. 面对困境,我能做什么?不能做什么?如果做不到或搞砸了,最坏的结果是什么?
- 认知清晰,情绪平和,最终还要行动坚定。很多人把行动力不足的原因归结为环境干扰或是意志力弱,其实,**行动力不足的真正原因是选择模糊**。
- 选择模糊就是一种不确定性,而**人类面对不确定性时会不自觉逃避**
- 当我们没有足够清晰的指令或者目标时,就很容易选择享乐,放弃那些本该坚持但比较烧脑的选项。
- 在现代生活中,要想让自己更胜一筹,**就必须学会花费更多的脑力和心力去思考如何拥有足够清晰的目标**。我们要**把目标和过程细化、具体化**,在诸多可能性中建立一条单行通道,**让自己始终处于“没得选”的状态**。总之,人生就是一场**消除模糊**的比赛,我们比拼的不仅仅是成长的速度,还有成长的模式。在这条赛道上,**领先的群体都有意无意地做着同一件事:消除认知、情绪和行动上的模糊**。消除模糊需要**主动反本能**,所以这必然是一条更难走的路。不过你也无须害怕,鼓起勇气面对就好了。
- 熔断不读书法”,意思就是在读书时**一旦看到有启发的内容,就触发熔断点,立刻停止读书**。停止读书之后做什么呢?围绕这个触发点对自己提问。
1. 为什么刚才这个点让我有启发?
2. 我能够把这个启发点用在3个不同的事情上吗
3. 这个启发点有没有其他类似的知识?
- 《美好人生运营指南》
- 《坚毅》
《史上最简单的“不读书法”》、《隐形的关键:比知识更重要的能力》
- 《学习高手的三驾马车》
《刻意练习》
《超越感觉》
《朋友圈的尖子生》
- 无论在生活中还是在学习上,凡是被某件事击中,“动了感情”,就要有意识地提醒自己追问原因。
1. 为什么这个电影桥段会让我感动?发生了什么?
2. 为什么这个产品让我这么喜欢?是什么让它与众不同?
3. 为什么我不由自主地沉溺于这段剧情了?
- 这就是高手学习的方法:**先用感性能力帮助自己选择,再用理性能力帮助自己思考**。
- 这也是我自己的读书方法——**只取一个全书最触动自己的点,然后尽可能去实践、改变**。这样读书不仅收获更大,而且也不会焦虑。
### 第三章 元认知——人类的终极能力
- 元认知能力就是我们习以为常、见怪不怪的反思能力
- 从被动到主动,这是一个转折点。**当一个人能主动开启第三视角、开始持续反观自己的思维和行为时,就意味着他真正开始觉醒了,他有了快速成长的可能**。
- 比如当我们读过《刻意练习》后,再面对学习中的困难时就不会逃避和畏惧,而会利用“舒适区边缘”理论让自己积极面对挑战;比如当我们读过《超越感觉》后,面对自己讨厌的人时也不会表现出攻击和不屑,而会尽力从他身上学习真实可用的东西。
- 在小马宋的《朋友圈的尖子生》这本书中,主角之一的刘丹尼说过这样一个观点:“**教育的意义就是教你在遇到一件事的时候如何看待它**。当你对这件事进行反应的时候,总是有你自己的天性在里面,比如说有人骂你,你就想骂回去,但是你在这个反应当中会有一个哪怕是零点几秒的间隔去思考或者审视,这个间隔就是你获得的教育或者经历的意义。
- 如果不在这些选择的节点想清楚,我们就会陷入模糊状态,而模糊是潜意识的领地,它会使我们产生本能的反应——娱乐。所以,基本的应对策略便是:在选择的节点审视自己的第一反应,并产生清晰明确的主张。
- 元认知能力强的一个突出表现是:**对模糊零容忍**
- 焦虑的人很少有“元时间”的意识,他们习惯不动脑子、直接行动,喜欢**用饱和的行动来感动自己**,想与做的时间配比差距悬殊,他们甚至连一丁点儿深入思考的时间都不愿意花,任由本能欲望让自己迷失在自我满足的行动里。
- 元认知能力强的人就是这样:无论是当下的注意力、当天的日程安排,还是长期的人生目标,他们都力求想清楚意义、进行自我审视和主动控制,而不是随波逐流。
### 第四章 专注力——情绪和智慧的交叉地带
- 走神时,行动失去了感知,注意力也因为缺少了感受而无法形成反馈闭环,因此身体和动作开始不自觉地变得麻木或走形。不信的话,你现在就可以感受一下:走神时是不是身体有一部分始终是僵硬的,神情有一部分始终是紧绷的?
- 分心走神的原因无非两个:
1. 一是觉得当下太无聊,所以追求更有意思的事情;
2. 二是觉得当下太痛苦,于是追求更舒适的事情。
因为身体受困于现实,只好让思想天马行空。
- 如果一个人从小就养成了全情投入和界限清晰的专注习惯,那他不仅能获得智力上的聪慧,也能获得情绪上的平和。经过长期的强化,他就能与普通人形成巨大差距,毕竟绝大多数人意识不到注意力分为行动和感受两个部分。
### 第五章 学习力——学习不是一味地努力
- 最可贵的地方在于能够主动降低学习的强度和难度,使自己处在最佳承受范围,**既保留了学习的成就感,也保证了学习的挑战性**。
- 做选择是一件极为耗能的事情,如果没有与之匹配的清醒和定力,绝大多数人最终都会被强大的天性支配,去选择娱乐消遣。在有约束的环境下我们反而效率更高,生活更充实。
- 你可以细心观察一下,几乎**所有的行动达人都是拆解任务的高手**。
- 掌握了这个原理,我们就能推导出从舒适区到拉伸区的策略:**提炼目标**。在舒适区内行动最大的特点就是不动脑筋地重复,这种状态下,人们凭习惯和感觉做事,没有特别需要关注的东西,所以学习的时候分心走神,跑步的时候分心走神,睡觉的时候也分心走神,这样,做什么事都不会有太大的长进。
- **从知道到做到**是一种巨大的进步然而__自己知道或做到是一回事让别人知道或做到又是另外一回事__。
> 不信你可以试着将自己知道的东西向别人清晰地陈述,你会发现这并不容易。明明心里想得挺明白,讲的时候就开始语无伦次了,如果再让你把知道的东西写下来呢?你可能会觉得根本无从下笔
- 请注意,遇到这种困难才是深度学习真正的开始!因为你必须动用已有的知识去解释新知识,当你能够把新学的知识
- 解释清楚时,就意味着把它纳入了自己的知识体系,同时达到了可以教授他人的水平,并可能创造新的知识。
- 浅层学习满足输入,深度学习注重输出
- 所以,逼迫自己获取高质量的知识以及深度缝接新知识,再用自己的语言或文字教授他人,是为深度学习之道。
- 深度学习有以下3个步骤(1)获取高质量的知识;(2)深度缝接新知识;(3)输出成果去教授
- :正确的行动往往是反天性的,让你觉得舒服和容易的事往往得不到好结果,而一开始你认为难受和困难的事才能让你真正产生收获,所以我们可以通过以下几个方法逐步改进。
- 三是反思生活。学习不止读书生活经历同样可以被深度学习。比如《好好学习》一书的作者成甲就非常注重反思他每天早上大约要花2小时进行复盘反思还要求自己的员工也这样做。他在书中花大量笔墨阐述了反思的方法和好处他说人与人之间的差距不是来自年龄甚至不是来自经验而是来自经验总结、反思和升华的能力。
- 鉴于此,我时常也鼓励人们写作。因为单纯阅读时,人容易满足于获取新知识,而一旦开始写作,就必须逼迫自己把所学的知识关联起来,所以写作就是一条深度学习的自然路径。
- 普通人觉得要是不把书读完,实在是对不起作者或是自己花出去的钱,但经济学家考文却觉得他这样做很划算。因为只有真正和自己有关的内容才对自己有用,在这个注意力非常匮乏的时代,没有必要把所有的书或是书中所有的内容都读完。
- 如何判定一个人是否厉害?要是一个人拥有的知识体系可以解决自己遇到的各种问题,那他必定是个厉害的人
- 《原则》
- 。在没有觉知的情况下,他们很容易把“学习知识”和“学习认知”混淆,用掌握学术知识的方法去对待别人的认知体系,所以不禁沉迷于全面掌握和全盘照搬他人的体系,甚至感觉如果没有完全掌握对方的认知体系,就有可能前功尽弃。
- 我建议每一个想成长的人都去进行每日反思,因为它可以提高自己对生活细节的感知能力,不会让日子像流水一样哗哗流过而什么都没留下。不
- 每日反思不是记流水账,而是留意每天最触动自己的那件事,不管是好的启发还是坏的体验,都写下来复盘,写得越细越好
- 一是用自己的语言重新解释新知识,这会促使自己原有的知识体系对新知识做出反应。
- 二是在需要的时候能够顺利提取知识,提取不出来的知识就是伪触动。
- 很多人读书的时候往往只关注自己是否理解了书中的内容,却经常忽视头脑中冒出的想法。其实这些想法是非常珍贵的,放过了它们,我们的学习效果就会大打折扣。
- 三是在生活中能够经常练习或使用这些知识,因为实践是产生强关联的终极方法。
- 为了不陷入痛苦,我们的大脑会开启自我保护模式,在举步维艰的时候主动调整认知,给自己找借口:“学习很难,但打卡并不难啊!只要完成打卡,不就代表任务已经完成了吗?”“既然打卡就代表完成,那为什么不选这个轻松的,而非得选那个难的呢?”
- 所谓认知闭合需求,就是指当人们面对一个模糊的问题时,就有给问题找出一个明确的答案的欲望。比如古时候人们不知道为什么会下雨,于是下雨这个问题就没有闭合,会让人很难受,所以古人就用雷公、电母、龙王解释下雨的成因,这些说法虽然没什么根据,但满足了认知闭合需求。将这一概念扩展到行为上也是一样的:一件事若迟迟没有完成,心里就总是记挂,期盼着早点结束;此事一旦完成,做这件事的动机就会立即趋向于零。
- 我们之所以有这种心理是因为人类的大脑喜欢确定性,不喜欢未知或不确定性。而打卡活动自带任务心态,人们每打一次卡,都要面临一次任务闭合需求,这在开始时并无大碍,但动机一旦转移,人们的心理就会发生变化。
- 《微习惯》一书中获得的启示。作者斯蒂芬·盖斯为了养成好习惯要求自己每天只做一个俯卧撑、每天只读一页书、每天只写50个字这种无负担的习惯养成法最终促使他拥有了良好的身材养成了阅读习惯还写出了自己的书。他称这种方法简单到不可能失败。
- 你肯定记得“刻意练习四要素”:定义明确的目标、极度的专注、有效的反馈、在拉伸区练习
- 更科学的模式应该是:极度专注+主动休息,如此反复。
- 说到学习的拉伸区,不得不提一下,控制学习和工作内容的难度也是保证专注的重要方式,因为太容易的内容会让人因无聊而走神,太困难的内容会让人因畏惧而逃避,所以选择做那些“跳一跳就能够得着”的学习或工作,是最容易进入专注状态的
- 主动培养“极度专注+主动休息”的行为模式。具体的做法就是:只要开始学习或工作,就尽量保持极度专注的状态,哪怕保持专注的时间很短也是有意义的;一旦发现自己开始因为精力不足而分心走神,就主动停下来调整片刻。
第六章 行动力——没有行动世界只是个概念
- 我们也可能进入另外一种状态。如果起床后我们能刻意避开轻松和娱乐的吸引,先去读书、锻炼,或者做些重要的工作,精力就会呈聚合状态,并自动增强
- 在初始阶段,强迫自己先做重要的事情,一旦进入正向的增强回路,你便能拥有强大的行动力——这正是增强自制力、提升行动力的秘密。这个秘密适用于所有人。
- 如果没有猜错,你脑中所谓的“重要事情”,也许就是关于锻炼、读书或是做某项重要工作的一个大致想法,你并没有想清楚明天起床后是去跑步还是阅读,即使想清楚自己要干什么了,也不确定要去哪里跑,跑几公里,跑多长时间,穿哪套衣服,万一天气不好怎么办;不知道到底要读哪本书,从哪里开始,读多长时间;也不知道具体要做重要工作的哪个部分,需要准备什么工具,需要什么素材,等等。一切都只知道个大概,这对提升行动力来说,是很致命的。
- 清晰力,也就是把目标细化、具体化的能力——行动力只有在清晰力的支撑下才能得到重构。
- 所以,只有真正做过的人才能体会到写与不写,完全不同。很多时候,人与人之间真正的差距可能就体现在最后那一点点行动上。
- 行动力最怕模糊,如果我们的头脑中一直有很多模糊的选项存在,我们就需要花心力不断做选择,而做选择是一件非常耗脑力的事情。我们的大脑有可能为了省点力气,而不自觉地选择那个它最熟悉、最确定的选项——做那些轻松、愉快但不重要的事情。
- 我敢打赌,凡是买了一堆书没读、报了一堆课没上、心中有无数欲望的人,几乎没有主动做成过一件事,比如养成早起、跑步、阅读的习惯,练就写作、画画的技能,考个好成绩,开个好公司,有高收入,等等。这个判断是我基于很多人的经历做出的。
- 细数这世上的难事,“知行合一”肯定算一条。有太多人想不通为什么自己“懂得那么多道理,却依然过不好一生”。这种困惑来得如此自然,每个人在成长路上都会不可避免地遇到。
- 现实和理论都告诉我们:懂得百点不如改变一点。真正的成长不在于自己懂得了多少道理,而在于自己改变了多少。
- 对成长来讲,道理都是“空头支票”,改变才是“真金白银”。当你凡事都以改变为标准时,你的成长路径会更加清晰。
第七章 情绪力——情绪是多角度看问题的智慧
- 当我们对情绪问题或工作问题百思不得其解的时候,不要一个人闷头苦想,要学会主动寻求外部帮助,借助他人的多维视角来克服自己单一视角的局限。
- 那些对内在动机更敏感和坚持的人,总会与众不同。他们不会为外界的奖励或评价而刻意表现,只会为自己的成长和进步而努力进取,这样的人很难被困难击倒。
第八章 早冥读写跑,人生五件套——成本最低的成长之道
- 《4点起床最养生和高效的时间管理》
- 清晰的时间安排、强健的体魄、良好的精神状态、不受干扰的锻炼氛围、专注的学习环境、从容的工作心态、持续的个人成长等。
- 当脑中有具体清晰的目标、规划和步骤时,第二天起床才不会犹豫,否则很容易临时改变主意再睡一会儿。情绪脑追求舒适的意愿是很强烈的,但如果理智脑提前和它沟通好,行动的阻力就会小很多。
- 成功人士一旦发现别人的好习惯,就会立刻将这个习惯变成自己的。
- 普通人和聪明人最大的能力差异是什么?是长时间保持极度专注的能力
- 《暗时间》一书的作者刘未鹏所说:能够迅速进入专注状态,以及能够长期保持专注状态,是高效学习的两个最重要的习惯。
- 脚步不能丈量的地方,文字可以;眼睛无法看到的地方,文字可以,文字还可以带我们穿越时空与千百年前的顶级思想家交流。时间和空间都不再成为束缚,这可是无法轻易拥有的能量,但阅读能够帮助我们获得。
- 阅读的深度比速度重要阅读的质量比数量重要。读得多、读得快并不一定是好事这很可能是自我陶醉的假象。如果读书只是完成了文字扫视但并不真正理解那又有什么效率可言呢如果阅读只是知道了那些道理而自己并没有发生任何实质改变那又有什么意义呢所以读书慢不要紧即使你一个月只能读完一本书但能读通、读透产生巨大的改变那也比3天读1本书不知要强多少倍。

View File

@@ -3,3 +3,5 @@ package errorx
import "errors"
var ErrNoNewMessage = errors.New("no new message")
var ErrResourceExpired = errors.New("resource expired")